diff --git a/tools/quality_tracking/tgrid_parser.py b/tools/quality_tracking/tgrid_parser.py
index b255bf6c92..ddfed1ed79 100644
--- a/tools/quality_tracking/tgrid_parser.py
+++ b/tools/quality_tracking/tgrid_parser.py
@@ -16,6 +16,7 @@
__author__ = 'phoglund@webrtc.org (Patrik Höglund)'
import re
+import urllib
# This is here to work around a buggy build bot status message which makes no
@@ -50,7 +51,7 @@ def _parse_builds(revision, html):
BB_084_P1_BUGGY_STATUS + ')'
'.*?.*?',
html, re.DOTALL):
- revision_and_bot_name = revision + "--" + match.group(1)
+ revision_and_bot_name = revision + "--" + urllib.unquote(match.group(1))
build_number_and_status = match.group(2) + "--" + _map_status(
match.group(3))
diff --git a/tools/quality_tracking/tgrid_parser_test.py b/tools/quality_tracking/tgrid_parser_test.py
index c772ac3e62..8ca687098a 100755
--- a/tools/quality_tracking/tgrid_parser_test.py
+++ b/tools/quality_tracking/tgrid_parser_test.py
@@ -55,7 +55,6 @@ SAMPLE_FILE = """
| WebRTC
-
|
Android |
@@ -443,7 +442,7 @@ MINIMAL_OK = """
| 1570 |
-OK |
+OK
"""
@@ -451,7 +450,8 @@ MINIMAL_FAIL = """
| 1573 |
- failed voe_auto_test
+ failed voe_auto_test
+
|
"""
@@ -512,7 +512,8 @@ class TGridParserTest(unittest.TestCase):
self.assertEqual(1, len(result), 'There is only one bot in the sample.')
first_mapping = result.items()[0]
- self.assertEqual('1570--Android', first_mapping[0])
+ # Note: the parser should unescape % quotations, like %20 for space.
+ self.assertEqual('1570--Linux Clang [stable]', first_mapping[0])
self.assertEqual('121--OK', first_mapping[1])
def test_parser_finds_failed_bot(self):
@@ -521,7 +522,7 @@ class TGridParserTest(unittest.TestCase):
self.assertEqual(1, len(result), 'There is only one bot in the sample.')
first_mapping = result.items()[0]
- self.assertEqual('1573--LinuxVideoTest', first_mapping[0])
+ self.assertEqual('1573--Linux Large Tests', first_mapping[0])
self.assertEqual('731--failed', first_mapping[1])
def test_parser_finds_building_bot(self):
diff --git a/tools/quality_tracking/track_build_status.py b/tools/quality_tracking/track_build_status.py
old mode 100644
new mode 100755
index b15d773f08..a5d983de5c
--- a/tools/quality_tracking/track_build_status.py
+++ b/tools/quality_tracking/track_build_status.py
@@ -89,14 +89,6 @@ def _filter_undesired_bots(bot_to_status_mapping, desired_bot_names):
return result
-def _filter_chrome_only_builds(bot_to_status_mapping):
- """Filters chrome-only builds from the system so LKGR doesn't get confused."""
- return dict((revision_to_bot_name, status)
- for revision_to_bot_name, status
- in bot_to_status_mapping.iteritems()
- if not _is_chrome_only_build(revision_to_bot_name))
-
-
def _main():
dashboard = dashboard_connection.DashboardConnection(constants.CONSUMER_KEY)
dashboard.read_required_files(constants.CONSUMER_SECRET_FILE,
@@ -104,7 +96,6 @@ def _main():
bot_to_status_mapping = _download_and_parse_build_status()
bot_to_status_mapping = _filter_undesired_bots(bot_to_status_mapping, BOTS)
- bot_to_status_mapping = _filter_chrome_only_builds(bot_to_status_mapping)
dashboard.send_post_request(constants.ADD_BUILD_STATUS_DATA_URL,
bot_to_status_mapping)
diff --git a/tools/quality_tracking/track_build_status_test.py b/tools/quality_tracking/track_build_status_test.py
old mode 100644
new mode 100755
index 87a904e3a0..0c77323a20
--- a/tools/quality_tracking/track_build_status_test.py
+++ b/tools/quality_tracking/track_build_status_test.py
@@ -17,35 +17,20 @@ import unittest
import track_build_status
-NORMAL_BOT_TO_STATUS_MAPPING = {'1455--ChromeOS': '455--OK',
- '1455--Chrome': '900--failed',
- '1455--Linux32DBG': '344--OK',
- '1456--ChromeOS': '456--OK'}
+NORMAL_BOT_TO_STATUS_MAPPING = {
+ '1455--Win 64 Release': '455--OK',
+ '1455--CrOS': '900--failed',
+ '1455--Linux32 Debug': '344--OK',
+ '1456--Win Large Tests': '456--OK'}
class TrackBuildStatusTest(unittest.TestCase):
- def test_that_filter_chrome_only_builds_filter_properly(self):
- bot_to_status_mapping = copy.deepcopy(NORMAL_BOT_TO_STATUS_MAPPING)
- bot_to_status_mapping['133445--Chrome'] = '901--OK'
- bot_to_status_mapping['133441--ChromeBloat'] = '344--OK'
-
- result = track_build_status._filter_chrome_only_builds(
- bot_to_status_mapping)
-
- self.assertEquals(NORMAL_BOT_TO_STATUS_MAPPING, result)
-
- def test_ensure_filter_chrome_only_builds_doesnt_filter_too_much(self):
- result = track_build_status._filter_chrome_only_builds(
- NORMAL_BOT_TO_STATUS_MAPPING)
-
- self.assertEquals(NORMAL_BOT_TO_STATUS_MAPPING, result)
-
def test_get_desired_bots(self):
bot_to_status_mapping = copy.deepcopy(NORMAL_BOT_TO_STATUS_MAPPING)
- desired_bot_names = ['Linux32DBG']
- result = track_build_status._get_desired_bots(bot_to_status_mapping,
- desired_bot_names)
+ desired_bot_names = ['Linux32 Debug']
+ result = track_build_status._filter_undesired_bots(bot_to_status_mapping,
+ desired_bot_names)
self.assertEquals(1, len(result))
self.assertTrue(desired_bot_names[0] in result.keys()[0])