def test_get_task_failure(TASK_NOT_FOUND): err = TASK_NOT_FOUND.copy() err['code'] = 'RandomError' responses.add(responses.GET, 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.revision.b2a9a4bb5c94de179ae7a3f52fde58c0e2897498.firefox.linux64-ccov-opt', json=err, status=500) # noqa with pytest.raises(Exception, message='Unknown TaskCluster index error.'): taskcluster.get_task('mozilla-central', 'b2a9a4bb5c94de179ae7a3f52fde58c0e2897498', 'linux')
def test_get_task(): task_id = taskcluster.get_last_task('linux') task_data = taskcluster.get_task_details(task_id) revision = task_data['payload']['env']['GECKO_HEAD_REV'] assert taskcluster.get_task('mozilla-central', revision, 'linux') == taskcluster.get_last_task('linux') task_id = taskcluster.get_last_task('win') task_data = taskcluster.get_task_details(task_id) revision = task_data['payload']['env']['GECKO_HEAD_REV'] assert taskcluster.get_task('mozilla-central', revision, 'win') == taskcluster.get_last_task('win')
def __init__(self, revision, cache_root, coveralls_token, codecov_token, gecko_dev_user, gecko_dev_pwd, client_id, access_token): # List of test-suite, sorted alphabetically. # This way, the index of a suite in the array should be stable enough. self.suites = [ 'cppunit', 'gtest', 'web-platform-tests', 'talos', ] self.cache_root = cache_root assert os.path.isdir(cache_root), 'Cache root {} is not a dir.'.format(cache_root) self.repo_dir = os.path.join(cache_root, 'mozilla-central') self.gecko_dev_user = gecko_dev_user self.gecko_dev_pwd = gecko_dev_pwd self.client_id = client_id self.access_token = access_token if revision is None: self.task_ids = [ taskcluster.get_last_task('linux'), taskcluster.get_last_task('win'), ] task_data = taskcluster.get_task_details(self.task_ids[0]) self.revision = task_data['payload']['env']['GECKO_HEAD_REV'] self.coveralls_token = 'NONE' self.codecov_token = 'NONE' self.from_pulse = False else: self.task_ids = [ taskcluster.get_task('mozilla-central', revision, 'linux'), taskcluster.get_task('mozilla-central', revision, 'win'), ] self.revision = revision self.coveralls_token = coveralls_token self.codecov_token = codecov_token self.from_pulse = True self.build_finished = False self.build_finished_cv = Condition() if self.from_pulse: self.suites_to_ignore = ['awsy', 'talos'] else: self.suites_to_ignore = [] logger.info('Mercurial revision', revision=self.revision)
def __init__(self, revision, cache_root, coveralls_token, codecov_token, gecko_dev_user, gecko_dev_pwd): # List of test-suite, sorted alphabetically. # This way, the index of a suite in the array should be stable enough. self.suites = [] self.cache_root = cache_root assert os.path.isdir(cache_root), 'Cache root {} is not a dir.'.format( cache_root) self.repo_dir = os.path.join(cache_root, 'mozilla-central') self.coveralls_token = coveralls_token self.codecov_token = codecov_token self.gecko_dev_user = gecko_dev_user self.gecko_dev_pwd = gecko_dev_pwd if revision is None: self.task_id = taskcluster.get_last_task() task_data = taskcluster.get_task_details(self.task_id) self.revision = task_data['payload']['env']['GECKO_HEAD_REV'] else: self.task_id = taskcluster.get_task('mozilla-central', revision) self.revision = revision self.build_finished = False self.build_finished_cv = Condition() logger.info('Mercurial revision', revision=self.revision)
def __init__(self, revision, cache_root, client_id, access_token): # List of test-suite, sorted alphabetically. # This way, the index of a suite in the array should be stable enough. self.suites = [ 'cppunit', 'gtest', 'web-platform-tests', 'talos', ] self.cache_root = cache_root assert os.path.isdir(cache_root), 'Cache root {} is not a dir.'.format( cache_root) self.repo_dir = os.path.join(cache_root, 'mozilla-central') self.client_id = client_id self.access_token = access_token self.githubUtils = GitHubUtils(cache_root, client_id, access_token) if revision is None: # Retrieve revision of latest codecov build github_revision = uploader.get_latest_codecov() self.revision = self.githubUtils.get_mercurial(github_revision) self.from_pulse = False suites_to_ignore = [] else: self.revision = revision self.from_pulse = True suites_to_ignore = ['awsy', 'talos'] self.notifier = Notifier(revision, client_id, access_token) logger.info('Mercurial revision', revision=self.revision) task_ids = { 'linux': taskcluster.get_task('mozilla-central', self.revision, 'linux'), 'windows': taskcluster.get_task('mozilla-central', self.revision, 'win'), } self.artifactsHandler = ArtifactsHandler(task_ids, suites_to_ignore)
def test_get_task_not_found(TASK_NOT_FOUND): responses.add(responses.GET, 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.revision.b2a9a4bb5c94de179ae7a3f52fde58c0e2897498.firefox.linux64-ccov-opt', json=TASK_NOT_FOUND, status=404) # noqa with pytest.raises(Exception, message='Code coverage build failed and was not indexed.'): taskcluster.get_task('mozilla-central', 'b2a9a4bb5c94de179ae7a3f52fde58c0e2897498', 'linux')
def test_get_task(LINUX_TASK_ID, LATEST_LINUX, WIN_TASK_ID, LATEST_WIN): responses.add(responses.GET, 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.revision.b2a9a4bb5c94de179ae7a3f52fde58c0e2897498.firefox.linux64-ccov-opt', json=LATEST_LINUX, status=200) # noqa assert taskcluster.get_task('mozilla-central', 'b2a9a4bb5c94de179ae7a3f52fde58c0e2897498', 'linux') == LINUX_TASK_ID responses.add(responses.GET, 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.revision.916103b8675d9fdb28b891cac235d74f9f475942.firefox.win64-ccov-debug', json=LATEST_WIN, status=200) # noqa assert taskcluster.get_task('mozilla-central', '916103b8675d9fdb28b891cac235d74f9f475942', 'win') == WIN_TASK_ID