Added unit tests to catch the case the recently-fixed case where the
parser would choke on status lines with too few fields.
Risk: Low
Visibility: Adds a couple of unit tests
Signed-off-by: John Admanski <jadmanski@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1985 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/parsers/version_0_unittest.py b/tko/parsers/version_0_unittest.py
index 3b879ae..03c13b2 100644
--- a/tko/parsers/version_0_unittest.py
+++ b/tko/parsers/version_0_unittest.py
@@ -113,6 +113,21 @@
self.assertEquals(line.optional_fields, {})
+ def test_parse_line_fails_on_incomplete_lines(self):
+ input_data = "\t\tGOOD\tfield\tsecond field"
+ complete_data = input_data + "\tneeded last field"
+ line = version_0.status_line.parse_line(input_data)
+ self.assertEquals(line, None)
+ line = version_0.status_line.parse_line(complete_data)
+ self.assertEquals(line.indent, 2)
+ self.assertEquals(line.type, "STATUS")
+ self.assertEquals(line.status, "GOOD")
+ self.assertEquals(line.subdir, "field")
+ self.assertEquals(line.testname, "second field")
+ self.assertEquals(line.reason, "needed last field")
+ self.assertEquals(line.optional_fields, {})
+
+
def test_parse_line_fails_on_bad_optional_fields(self):
input_data = "GOOD\tfield1\tfield2\tfield3\tfield4"
self.assertRaises(AssertionError,