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

Unified Diff: Tools/TestResultServer/handlers/buildershandler_unittest.py

Issue 337433003: Switch buildershandler over to using the json mirror. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: Tools/TestResultServer/handlers/buildershandler_unittest.py
diff --git a/Tools/TestResultServer/handlers/buildershandler_unittest.py b/Tools/TestResultServer/handlers/buildershandler_unittest.py
index 1ea9a14ebd41eab28ca55ce0cccad78b5d1fe96a..d759180fd72a909b28f47c971aa01d4c901733b1 100644
--- a/Tools/TestResultServer/handlers/buildershandler_unittest.py
+++ b/Tools/TestResultServer/handlers/buildershandler_unittest.py
@@ -33,73 +33,43 @@ import pprint
import unittest
class BuildersHandlerTest(unittest.TestCase):
- def test_master_json_url(self):
- self.assertEqual(buildershandler.master_json_url('http://base'), 'http://base/json/builders')
-
- def test_builder_json_url(self):
- self.assertEqual(buildershandler.builder_json_url('http://base', 'dummybuilder'), 'http://base/json/builders/dummybuilder')
-
- def test_cached_build_json_url(self):
- self.assertEqual(buildershandler.cached_build_json_url('http://base', 'dummybuilder', 12345), 'http://base/json/builders/dummybuilder/builds/12345')
- self.assertEqual(buildershandler.cached_build_json_url('http://base', 'dummybuilder', '12345'), 'http://base/json/builders/dummybuilder/builds/12345')
-
- def test_get_latest_build(self):
- build_data = {'cachedBuilds': ['1', '2', '3'],
- 'currentBuilds': ['3'],
- 'basedir': 'fake'}
- latest_build = buildershandler.get_latest_build(build_data)
- self.assertEqual(latest_build, '2')
-
- build_data = {'cachedBuilds': [],
- 'currentBuilds': ['1', '2', '3'],
- 'basedir': 'fake'}
- latest_build = buildershandler.get_latest_build(build_data)
- self.assertEqual(latest_build, '1')
-
- build_data = {'cachedBuilds': ['1', '2', '3'],
- 'currentBuilds': ['1', '2', '3'],
- 'basedir': 'fake'}
- latest_build = buildershandler.get_latest_build(build_data)
- self.assertEqual(latest_build, '1')
-
- build_data = {'cachedBuilds': [],
- 'currentBuilds': [],
- 'basedir': 'fake'}
- latest_build = buildershandler.get_latest_build(build_data)
- self.assertEqual(latest_build, None)
-
- long_list = map(lambda x: str(x), xrange(1000, 1200))
- current_build = long_list[-1]
- build_data = {'cachedBuilds': long_list[:],
- 'currentBuilds': [current_build],
- 'basedir': 'fake'}
- latest_build = buildershandler.get_latest_build(build_data)
- self.assertEqual(latest_build, long_list[-2])
-
def test_fetch_buildbot_data(self):
try:
fetched_urls = []
def fake_fetch_json(url):
fetched_urls.append(url)
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders':
- return {'WebKit Win': None, 'WebKit Linux': None, 'WebKit Mac': None, 'WebKit Empty': None}
-
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Linux':
- return {'cachedBuilds': [1, 2], 'currentBuilds': []}
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Win':
- return {'cachedBuilds': [1, 2], 'currentBuilds': []}
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Mac':
- return {'cachedBuilds': [1, 2], 'currentBuilds': []}
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Empty':
- return {'cachedBuilds': [], 'currentBuilds': []}
-
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Linux/builds/2':
- return {'steps': [{'name': 'foo_tests_only'}, {'name': 'webkit_tests'}, {'name': 'browser_tests'}, {'name': 'mini_installer_test'}, {'name': 'archive_test_results'}, {'name': 'compile'}]}
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Win/builds/2':
- return {'steps': [{'name': 'foo_tests_ignore'}, {'name': 'webkit_tests'}, {'name': 'mini_installer_test'}, {'name': 'archive_test_results'}, {'name': 'compile'}]}
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Mac/builds/2':
- return {'steps': [{'name': 'foo_tests_perf'}, {'name': 'browser_tests'}, {'name': 'mini_installer_test'}, {'name': 'archive_test_results'}, {'name': 'compile'}]}
+
+ if url == 'http://chrome-build-extract.appspot.com/get_master/chromium.webkit':
+ return {
+ 'builders': {
+ 'WebKit Win': None, 'WebKit Linux': None, 'WebKit Mac': None, 'WebKit Empty': None,
+ }
+ }
+
+ if url == 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Linux&master=chromium.webkit&num_builds=1':
+ return {
+ 'builds': [
+ {'steps': [{'name': 'foo_tests_only'}, {'name': 'webkit_tests'}, {'name': 'browser_tests'}, {'name': 'mini_installer_test'}, {'name': 'archive_test_results'}, {'name': 'compile'}]},
+ ],
+ }
+
+ if url == 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Win&master=chromium.webkit&num_builds=1':
+ return {
+ 'builds': [
+ {'steps': [{'name': 'foo_tests_ignore'}, {'name': 'webkit_tests'}, {'name': 'mini_installer_test'}, {'name': 'archive_test_results'}, {'name': 'compile'}]},
+ ],
+ }
+
+ if url == 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Mac&master=chromium.webkit&num_builds=1':
+ return {
+ 'builds': [
+ {'steps': [{'name': 'foo_tests_perf'}, {'name': 'browser_tests'}, {'name': 'mini_installer_test'}, {'name': 'archive_test_results'}, {'name': 'compile'}]},
+ ],
+ }
+
+ if url == 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Empty&master=chromium.webkit&num_builds=1':
+ return {'builds': []}
logging.error('Cannot fetch fake url: %s' % url)
@@ -107,31 +77,29 @@ class BuildersHandlerTest(unittest.TestCase):
buildershandler.fetch_json = fake_fetch_json
masters = [
- {'name': 'ChromiumWebkit', 'url': 'http://build.chromium.org/p/chromium.webkit'},
+ {'name': 'ChromiumWebkit', 'url_name': 'chromium.webkit'},
]
- buildbot_data = buildershandler.fetch_buildbot_data(masters, True)
+ buildbot_data = buildershandler.fetch_buildbot_data(masters)
expected_fetched_urls = [
- 'http://build.chromium.org/p/chromium.webkit/json/builders',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Linux',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Linux/builds/2',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Mac',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Mac/builds/2',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Win',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Win/builds/2',
- 'http://build.chromium.org/p/chromium.webkit/json/builders/WebKit%20Empty',
+ 'http://chrome-build-extract.appspot.com/get_master/chromium.webkit',
+ 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Win&master=chromium.webkit&num_builds=1',
+ 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Mac&master=chromium.webkit&num_builds=1',
+ 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Empty&master=chromium.webkit&num_builds=1',
+ 'http://chrome-build-extract.appspot.com/get_builds?builder=WebKit%20Linux&master=chromium.webkit&num_builds=1',
]
self.assertEqual(set(fetched_urls), set(expected_fetched_urls))
expected_masters = {
'masters': [{
- 'url': 'http://build.chromium.org/p/chromium.webkit',
'tests': {
'browser_tests': {'builders': ['WebKit Linux', 'WebKit Mac']},
'mini_installer_test': {'builders': ['WebKit Linux', 'WebKit Mac', 'WebKit Win']},
'layout-tests': {'builders': ['WebKit Linux', 'WebKit Win']}},
- 'name': 'ChromiumWebkit'}],
+ 'name': 'ChromiumWebkit',
+ 'url_name': 'chromium.webkit',
+ }],
"no_upload_test_types": buildershandler.TEST_STEPS_THAT_DO_NOT_UPLOAD_YET,
}
expected_json = buildershandler.dump_json(expected_masters)
@@ -146,61 +114,52 @@ class BuildersHandlerTest(unittest.TestCase):
def fake_fetch_json(url):
fetched_urls.append(url)
- if url == 'http://build.chromium.org/p/chromium.webkit/json/builders':
+
+ if url == 'http://chrome-build-extract.appspot.com/get_master/chromium.webkit':
return None
- if url.endswith('chromium.gpu/json/builders'):
- return {'Win GPU': None, 'Win Empty': None}
- if url.endswith('Win%20GPU'):
- return {'cachedBuilds': [1, 2], 'currentBuilds': []}
- if url.endswith('Win%20Empty'):
- return {'cachedBuilds': [], 'currentBuilds': []}
- if url.endswith('Win%20GPU/builds/2'):
- return {'steps': [{'name': 'gpu_unittests'}, {'name': 'archive_test_results'}, {'name': 'compile'}]}
-
- if url.endswith('chromium.fyi/json/builders'):
- return {'Mac FYI': None}
- if url.endswith('Mac%20FYI'):
- return {'cachedBuilds': [1, 2], 'currentBuilds': []}
- if url.endswith('Mac%20FYI/builds/2'):
- return {'steps': [{'name': 'fyi_tests'}, {'name': 'archive_test_results'}, {'name': 'compile'}]}
+ if url == 'http://chrome-build-extract.appspot.com/get_master/chromium.gpu':
+ return {
+ 'builders': {
+ 'Win GPU': None, 'Win Empty': None,
+ }
+ }
+
+ if url == 'http://chrome-build-extract.appspot.com/get_master/chromium.fyi':
+ return {
+ 'builders': {
+ 'Mac FYI': None,
+ }
+ }
+
+ if (url == 'http://chrome-build-extract.appspot.com/get_builds?builder=Win%20Empty&master=chromium.gpu&num_builds=1'
+ or url == 'http://chrome-build-extract.appspot.com/get_builds?builder=Win%20GPU&master=chromium.gpu&num_builds=1'):
+ return {
+ 'builds': [
+ {'steps': []},
+ ],
+ }
+
+ logging.error('Cannot fetch fake url: %s' % url)
old_fetch_json = buildershandler.fetch_json
buildershandler.fetch_json = fake_fetch_json
masters = [
- {'name': 'ChromiumGPU', 'url': 'http://build.chromium.org/p/chromium.gpu'},
- {'name': 'ChromiumWebkit', 'url': 'http://build.chromium.org/p/chromium.webkit'},
- {'name': 'ChromiumFYI', 'url': 'http://build.chromium.org/p/chromium.fyi'},
+ {'name': 'ChromiumGPU', 'url_name': 'chromium.gpu'},
+ {'name': 'ChromiumWebkit', 'url_name': 'chromium.webkit'},
+ {'name': 'ChromiumFYI', 'url_name': 'chromium.fyi'},
]
expected_fetched_urls = [
- 'http://build.chromium.org/p/chromium.gpu/json/builders',
- 'http://build.chromium.org/p/chromium.gpu/json/builders/Win%20Empty',
- 'http://build.chromium.org/p/chromium.gpu/json/builders/Win%20GPU',
- 'http://build.chromium.org/p/chromium.gpu/json/builders/Win%20GPU/builds/2',
- 'http://build.chromium.org/p/chromium.webkit/json/builders',
- 'http://build.chromium.org/p/chromium.fyi/json/builders',
- 'http://build.chromium.org/p/chromium.fyi/json/builders/Mac%20FYI',
- 'http://build.chromium.org/p/chromium.fyi/json/builders/Mac%20FYI/builds/2',
- ]
- # Should not throw any exception.
- buildbot_data = buildershandler.fetch_buildbot_data(masters, True)
- self.assertEqual(set(expected_fetched_urls), set(fetched_urls))
-
- fetched_urls_all = fetched_urls[:]
- fetched_urls = []
- expected_fetched_urls = [
- 'http://build.chromium.org/p/chromium.gpu/json/builders',
- 'http://build.chromium.org/p/chromium.gpu/json/builders/Win%20Empty',
- 'http://build.chromium.org/p/chromium.gpu/json/builders/Win%20GPU',
- 'http://build.chromium.org/p/chromium.gpu/json/builders/Win%20GPU/builds/2',
- 'http://build.chromium.org/p/chromium.webkit/json/builders',
+ 'http://chrome-build-extract.appspot.com/get_master/chromium.webkit',
+ 'http://chrome-build-extract.appspot.com/get_master/chromium.gpu',
+ 'http://chrome-build-extract.appspot.com/get_builds?builder=Win%20GPU&master=chromium.gpu&num_builds=1',
+ 'http://chrome-build-extract.appspot.com/get_builds?builder=Win%20Empty&master=chromium.gpu&num_builds=1',
]
with self.assertRaises(buildershandler.FetchBuildersException):
buildbot_data = buildershandler.fetch_buildbot_data(masters)
self.assertEqual(set(expected_fetched_urls), set(fetched_urls))
- self.assertNotEqual(set(fetched_urls), set(fetched_urls_all))
finally:
buildershandler.fetch_json = old_fetch_json

Powered by Google App Engine
This is Rietveld 408576698