def test_bad_format(self): self.section.append(Setting('format', '{nonexistant}')) with LogCapture() as capture: print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) capture.check( ('root', 'ERROR', StringComparison(r'.*Unable to print.*')), ('root', 'INFO', StringComparison(r'.*Exception was.*')))
def test_bad_format(self): self.section.append(Setting("format_str", "{nonexistant}")) print_results_formatted(self.logger, self.section, [Result("1", "2")], None, None) self.assertRegex(self.printer.string, ".*Unable to print.*")
def test_default_format(self): expected_string = ("id:-?[0-9]+:origin:1:file:None:line:None:" "column:None:end_line:None:end_column:None:" "severity:1:severity_str:NORMAL:message:2\n") with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result("1", "2")], None, None) self.assertRegex(stdout.getvalue(), expected_string)
def test_good_format(self): self.section.append(Setting("format_str", "{origin}")) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result("1", "2")], None, None) self.assertEqual(stdout.getvalue(), "1\n")
def test_format_str(self): self.section.append(Setting('format_str', '{origin}')) print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) self.assertRegex(self.logger.logs[0].message, '.*The setting ' '"format_str" has been deprecated.*') print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) self.assertEqual(1, len(self.logger.logs))
def test_bad_format(self): self.section.append(Setting('format', '{nonexistant}')) print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) self.assertRegex(''.join(log.message for log in self.logger.logs), '.*Unable to print.*')
def test_good_format(self): self.section.append(Setting('format', '{origin}')) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) self.assertEqual(stdout.getvalue(), '1\n')
def test_bad_format(self): self.section.append(Setting("format_str", "{nonexistant}")) print_results_formatted(self.logger, self.section, [Result("1", "2")], None, None) self.assertRegex(''.join(log.message for log in self.logger.logs), ".*Unable to print.*")
def test_default_format(self): expected_string = ( "id:-?[0-9]+:origin:1:file:None:from_line:None:" "from_column:None:to_line:None:to_column:None:" "severity:1:msg:2\n" ) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result("1", "2")], None, None) self.assertRegex(stdout.getvalue(), expected_string)
def test_source_lines(self): self.section.append(Setting(key='format', value='{source_lines}')) affected_code = (SourceRange.from_values('file', 2, end_line=2), ) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [ Result('SpaceConsistencyBear', message='msg', affected_code=affected_code) ], {abspath('file'): ('def fun():\n', ' pass \n')}) self.assertEqual(stdout.getvalue(), "(' pass \\n',)\n")
def test_empty_list(self): self.section.append(Setting('format', '{origin}')) # Shouldn't attempt to format the string None and will fail badly if # its done wrong. print_results_formatted(None, self.section, [], None, None, None)
def test_bad_format(self): printer = StringPrinter() logger = LogPrinter(printer) section = Section("t") section.append(Setting("format_str", "{nonexistant}")) print_results_formatted(logger, section, [Result("1", "2")], None, None) self.assertRegex(printer.string, ".*Unable to print.*")
def test_empty_list(): section = Section("t") section.append(Setting("format_str", "{origin}")) # Shouldn't attempt to format the string None and will fail badly if # its done wrong. print_results_formatted(None, section, [], None, None, None)
def test_bad_format(self): self.section.append(Setting('format', '{nonexistant}')) with LogCapture() as capture: print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) capture.check( ('root', 'ERROR', StringComparison(r'.*Unable to print.*')), ('root', 'INFO', StringComparison(r'.*Exception was.*')) )
def test_source_lines(self): self.section.append(Setting(key='format', value='{source_lines}')) affected_code = (SourceRange.from_values('file', 2, end_line=2),) with retrieve_stdout() as stdout: print_results_formatted( self.logger, self.section, [Result('SpaceConsistencyBear', message='msg', affected_code=affected_code)], {abspath('file'): ('def fun():\n', ' pass \n')}) self.assertEqual(stdout.getvalue(), "(' pass \\n',)\n")
def test_multiple_ranges(self): expected_string = ("id:-?[0-9]+:origin:1:.*file:.*another_file:line:5:" "column:3:end_line:5:end_column:5:" "severity:1:severity_str:NORMAL:message:2\n" "id:-?[0-9]+:origin:1:.*file:.*some_file:line:5:" "column:None:end_line:7:end_column:None:" "severity:1:severity_str:NORMAL:message:2\n") affected_code = (SourceRange.from_values("some_file", 5, end_line=7), SourceRange.from_values("another_file", 5, 3, 5, 5)) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result("1", "2", affected_code)], None, None) self.assertRegex(stdout.getvalue(), expected_string)
def test_default_format(self): expected_string = ('id:-?[0-9]+:origin:1:file:None:line:None:' 'column:None:end_line:None:end_column:None:' 'severity:1:severity_str:NORMAL:message:2\n') with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) self.assertRegex(stdout.getvalue(), expected_string) self.section.append(Setting('format', 'True')) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result('1', '2')], None, None) self.assertRegex(stdout.getvalue(), expected_string)
def test_multiple_ranges(self): expected_string = ( "id:-?[0-9]+:origin:1:.*file:.*another_file:from_line:5:" "from_column:3:to_line:5:to_column:5:" "severity:1:msg:2\n" "id:-?[0-9]+:origin:1:.*file:.*some_file:from_line:5:" "from_column:None:to_line:7:to_column:None:" "severity:1:msg:2\n" ) affected_code = ( SourceRange.from_values("some_file", 5, end_line=7), SourceRange.from_values("another_file", 5, 3, 5, 5), ) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result("1", "2", affected_code)], None, None) self.assertRegex(stdout.getvalue(), expected_string)
def test_multiple_ranges(self): expected_string = ( 'id:-?[0-9]+:origin:1:.*file:.*another_file:line:5:' 'column:3:end_line:5:end_column:5:' 'severity:1:severity_str:NORMAL:message:2\n' 'id:-?[0-9]+:origin:1:.*file:.*some_file:line:5:' 'column:None:end_line:7:end_column:None:' 'severity:1:severity_str:NORMAL:message:2\n') affected_code = (SourceRange.from_values('some_file', 5, end_line=7), SourceRange.from_values('another_file', 5, 3, 5, 5)) with retrieve_stdout() as stdout: print_results_formatted(self.logger, self.section, [Result('1', '2', affected_code)], None, None) self.assertRegex(stdout.getvalue(), expected_string)