commit 5fdcfa1bd6520c72b7a53d2b425a221f9f8ff268
parent 4a77a4741ea907b193b04fd52da2715ebfd0ceb8
Author: Dan Callaghan <djc@djc.id.au>
Date: Mon, 9 May 2022 21:23:06 +1000
tests: capture expected warning messages
Diffstat:
2 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/test/test_header_parsing.rb b/test/test_header_parsing.rb
@@ -11,9 +11,15 @@ class TestMBoxParsing < Minitest::Test
def setup
@path = Dir.mktmpdir
@mbox = File.join(@path, 'test_mbox')
+ @log = StringIO.new
+ Redwood::Logger.add_sink @log
+ Redwood::Logger.remove_sink $stderr
end
def teardown
+ Redwood::Logger.clear!
+ Redwood::Logger.remove_sink @log
+ Redwood::Logger.add_sink $stderr
FileUtils.rm_r @path
end
@@ -133,6 +139,8 @@ EOS
assert_equal 61, offset
offset = l.next_offset 61
assert_nil offset
+ assert_match(/WARNING: found invalid date in potential mbox split line, not splitting/,
+ @log.string)
end
def test_more_from_line_splitting
diff --git a/test/test_messages_dir.rb b/test/test_messages_dir.rb
@@ -13,9 +13,15 @@ class TestMessagesDir < ::Minitest::Test
def setup
@path = Dir.mktmpdir
Redwood::HookManager.init File.join(@path, 'hooks')
+ @log = StringIO.new
+ Redwood::Logger.add_sink @log
+ Redwood::Logger.remove_sink $stderr
end
def teardown
+ Redwood::Logger.clear!
+ Redwood::Logger.remove_sink @log
+ Redwood::Logger.add_sink $stderr
Redwood::HookManager.deinstantiate!
FileUtils.rm_r @path
end
@@ -46,6 +52,8 @@ class TestMessagesDir < ::Minitest::Test
# lines should contain an error message
assert (lines.join.include? "An error occurred while loading this message."), "This message should not load successfully"
+
+ assert_match(/WARNING: problem reading message/, @log.string)
end
def test_bad_content_transfer_encoding
@@ -74,6 +82,8 @@ class TestMessagesDir < ::Minitest::Test
# lines should contain an error message
assert (lines.join.include? "An error occurred while loading this message."), "This message should not load successfully"
+
+ assert_match(/WARNING: problem reading message/, @log.string)
end
def test_missing_line