def setup_regular_build(revision): """Sets up build with a particular revision.""" release_build_bucket_path = environment.get_value('RELEASE_BUILD_BUCKET_PATH') release_build_urls = get_build_urls_list(release_build_bucket_path) job_type = environment.get_value('JOB_NAME') if not release_build_urls: logs.log_error('Error getting release build urls for job %s.' % job_type) return None release_build_url = revisions.find_build_url(release_build_bucket_path, release_build_urls, revision) if not release_build_url: logs.log_error( 'Error getting build url for job %s (r%d).' % (job_type, revision)) # Try setting up trunk build. return setup_trunk_build() base_build_dir = _base_build_dir(release_build_bucket_path) build_class = RegularBuild if environment.is_trusted_host(): from bot.untrusted_runner import build_setup_host build_class = build_setup_host.RemoteRegularBuild target_weights = fuzzer_selection.get_fuzz_target_weights() build = build_class( base_build_dir, revision, release_build_url, target_weights=target_weights) if build.setup(): return build return None
def test_empty_if_no_children(self): """Ensure that we function properly if a fuzzer has no children.""" os.environ['TASK_NAME'] = 'fuzz' os.environ['JOB_NAME'] = 'some_job_blackbox' result = fuzzer_selection.get_fuzz_target_weights() self.assertEqual(result, {})
def test_weights_specified_for_children(self): """Ensure that we return the correct weights for a fuzzer with children.""" os.environ['TASK_NAME'] = 'fuzz' os.environ['JOB_NAME'] = 'some_job_engine' result = fuzzer_selection.get_fuzz_target_weights() self.assertEqual(result, {'child_0': 1.5, 'child_1': 0.75})
def test_bailout_for_bad_task(self): """Ensure that we bail out and return None if called for non-fuzz tasks.""" os.environ['TASK_NAME'] = 'minimize' os.environ['JOB_NAME'] = 'some_job' result = fuzzer_selection.get_fuzz_target_weights() self.assertIsNone(result)