def test_process_output(self): section = Section("some_name") self.uut = Lint(section, None) out = list( self.uut.process_output( "1.0|0: Info message\n" "2.2|1: Normal message\n" "3.4|2: Major message\n", "a/file.py")) self.assertEqual(len(out), 3) self.assertEqual(out[0].origin, "Lint") self.assertEqual(out[0].affected_code[0], SourceRange.from_values("a/file.py", 1, 0)) self.assertEqual(out[0].severity, RESULT_SEVERITY.INFO) self.assertEqual(out[0].message, "Info message") self.assertEqual(out[1].affected_code[0], SourceRange.from_values("a/file.py", 2, 2)) self.assertEqual(out[1].severity, RESULT_SEVERITY.NORMAL) self.assertEqual(out[1].message, "Normal message") self.assertEqual(out[2].affected_code[0], SourceRange.from_values("a/file.py", 3, 4)) self.assertEqual(out[2].severity, RESULT_SEVERITY.MAJOR) self.assertEqual(out[2].message, "Major message") self.uut = Lint(section, None) self.uut.output_regex = (r'(?P<line>\d+)\.(?P<column>\d+)\|' r'(?P<end_line>\d+)\.(?P<end_column>\d+)\|' r'(?P<severity>\d+): (?P<message>.*)') self.uut.severity_map = {"I": RESULT_SEVERITY.INFO} out = list( self.uut.process_output("1.0|2.3|0: Info message\n", 'a/file.py')) self.assertEqual(len(out), 1) self.assertEqual(out[0].affected_code[0].start.line, 1) self.assertEqual(out[0].affected_code[0].start.column, 0) self.assertEqual(out[0].affected_code[0].end.line, 2) self.assertEqual(out[0].affected_code[0].end.column, 3) self.assertEqual(out[0].severity, RESULT_SEVERITY.INFO) self.uut = Lint(section, None) out = list( self.uut.process_output( "Random line that shouldn't be captured\n" "*************\n", 'a/file.py')) self.assertEqual(len(out), 0)
def setUp(self): section = Section("some_name") self.uut = Lint(section, None)