From 440ff239699958aa3cb6610b3d1220b4c658378c Mon Sep 17 00:00:00 2001 From: "phoglund@webrtc.org" Date: Wed, 16 May 2012 09:05:57 +0000 Subject: [PATCH] Fixed some unexpected syntax for chrome bots. BUG= TEST= Review URL: https://webrtc-codereview.appspot.com/569017 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2246 4adac7df-926f-26a2-2b94-8c16560cd09d --- tools/quality_tracking/tgrid_parser.py | 2 +- tools/quality_tracking/tgrid_parser_test.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/tools/quality_tracking/tgrid_parser.py b/tools/quality_tracking/tgrid_parser.py index 319c64ec4a..b255bf6c92 100644 --- a/tools/quality_tracking/tgrid_parser.py +++ b/tools/quality_tracking/tgrid_parser.py @@ -81,7 +81,7 @@ def parse_tgrid_page(html): """ result = {} - for match in re.finditer('(\d+) (.*?)', + for match in re.finditer('(\d+).*?(.*?)', html, re.DOTALL): revision = match.group(1) builds_for_revision_html = match.group(2) diff --git a/tools/quality_tracking/tgrid_parser_test.py b/tools/quality_tracking/tgrid_parser_test.py index 288376ce9a..c772ac3e62 100755 --- a/tools/quality_tracking/tgrid_parser_test.py +++ b/tools/quality_tracking/tgrid_parser_test.py @@ -492,6 +492,15 @@ MINIMAL_EXCEPTION_SLAVE_LOST = """ """ +MINIMAL_IN_TRUNK_SOURCESTAMP = """ + +1576 in trunk + + build
successful
exception
slave
lost
+ + +""" + class TGridParserTest(unittest.TestCase): def test_parser_throws_exception_on_empty_html(self): self.assertRaises(tgrid_parser.FailedToParseBuildStatus, @@ -554,6 +563,17 @@ class TGridParserTest(unittest.TestCase): self.assertEqual('1576--LinuxValgrind', first_mapping[0]) self.assertEqual('324--failed', first_mapping[1]) + def test_parser_finds_exception_slave_lost_and_maps_to_failed(self): + # Sometimes the transposed grid says "in trunk" in the source stamp, so + # make sure we deal with that. + result = tgrid_parser.parse_tgrid_page(MINIMAL_IN_TRUNK_SOURCESTAMP) + + self.assertEqual(1, len(result), 'There is only one bot in the sample.') + first_mapping = result.items()[0] + + self.assertEqual('1576--LinuxValgrind', first_mapping[0]) + self.assertEqual('324--failed', first_mapping[1]) + def test_parser_finds_all_bots_and_revisions_except_forced_builds(self): result = tgrid_parser.parse_tgrid_page(SAMPLE_FILE)