OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 import unittest | 3 import unittest |
4 | 4 |
5 import common | 5 import common |
6 from autotest_lib.client.common_lib.test_utils import mock | 6 from autotest_lib.client.common_lib.test_utils import mock |
7 from autotest_lib.tko import models | 7 from autotest_lib.tko import models |
8 from autotest_lib.tko.parsers import version_0 | 8 from autotest_lib.tko.parsers import version_0 |
9 | 9 |
10 | 10 |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 self.assertEquals(line.type, "STATUS") | 223 self.assertEquals(line.type, "STATUS") |
224 self.assertEquals(line.status, "GOOD") | 224 self.assertEquals(line.status, "GOOD") |
225 self.assertEquals(line.subdir, None) | 225 self.assertEquals(line.subdir, None) |
226 self.assertEquals(line.testname, None) | 226 self.assertEquals(line.testname, None) |
227 self.assertEquals(line.reason, "No newline here!") | 227 self.assertEquals(line.reason, "No newline here!") |
228 self.assertEquals(line.optional_fields, | 228 self.assertEquals(line.optional_fields, |
229 {"field1": "val1", | 229 {"field1": "val1", |
230 "field2": "val2"}) | 230 "field2": "val2"}) |
231 | 231 |
232 | 232 |
| 233 def test_parse_line_handles_embedded_new_lines(self): |
| 234 input_data = ("\tEND FAIL\t----\ttest\tfield1=val1\tStatus\nwith\n" |
| 235 "embedded\nnew lines\n") |
| 236 |
| 237 line = version_0.status_line.parse_line(input_data) |
| 238 self.assertEquals(line.indent, 1) |
| 239 self.assertEquals(line.type, "END") |
| 240 self.assertEquals(line.status, "FAIL") |
| 241 self.assertEquals(line.subdir, None) |
| 242 self.assertEquals(line.testname, "test") |
| 243 self.assertEquals(line.reason, "Status\nwith\nembedded\nnew lines") |
| 244 self.assertEquals(line.optional_fields, {"field1": "val1"}) |
| 245 |
| 246 |
233 def test_parse_line_fails_on_untabbed_lines(self): | 247 def test_parse_line_fails_on_untabbed_lines(self): |
234 input_data = " GOOD\trandom\tfields\tof text" | 248 input_data = " GOOD\trandom\tfields\tof text" |
235 line = version_0.status_line.parse_line(input_data) | 249 line = version_0.status_line.parse_line(input_data) |
236 self.assertEquals(line, None) | 250 self.assertEquals(line, None) |
237 line = version_0.status_line.parse_line(input_data.lstrip()) | 251 line = version_0.status_line.parse_line(input_data.lstrip()) |
238 self.assertEquals(line.indent, 0) | 252 self.assertEquals(line.indent, 0) |
239 self.assertEquals(line.type, "STATUS") | 253 self.assertEquals(line.type, "STATUS") |
240 self.assertEquals(line.status, "GOOD") | 254 self.assertEquals(line.status, "GOOD") |
241 self.assertEquals(line.subdir, "random") | 255 self.assertEquals(line.subdir, "random") |
242 self.assertEquals(line.testname, "fields") | 256 self.assertEquals(line.testname, "fields") |
(...skipping 18 matching lines...) Expand all Loading... |
261 | 275 |
262 def test_parse_line_fails_on_bad_optional_fields(self): | 276 def test_parse_line_fails_on_bad_optional_fields(self): |
263 input_data = "GOOD\tfield1\tfield2\tfield3\tfield4" | 277 input_data = "GOOD\tfield1\tfield2\tfield3\tfield4" |
264 self.assertRaises(AssertionError, | 278 self.assertRaises(AssertionError, |
265 version_0.status_line.parse_line, | 279 version_0.status_line.parse_line, |
266 input_data) | 280 input_data) |
267 | 281 |
268 | 282 |
269 if __name__ == "__main__": | 283 if __name__ == "__main__": |
270 unittest.main() | 284 unittest.main() |
OLD | NEW |