Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(457)

Side by Side Diff: tko/parsers/version_0_unittest.py

Issue 3719002: Add support for multi-line status messages. (Closed) Base URL: http://git.chromium.org/git/autotest.git
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tko/parsers/version_0.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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()
OLDNEW
« no previous file with comments | « tko/parsers/version_0.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698