def test_get_fuzzer_benchmark_pairs(): """Tests builder.get_fuzzer_benchmark_pairs.""" assert builder.get_fuzzer_benchmark_pairs( ['fuzzer1', 'fuzzer2', 'fuzzer3'], ['benchmark1', 'benchmark2', 'benchmark3']) == [ ('fuzzer1', 'benchmark1'), ('fuzzer1', 'benchmark2'), ('fuzzer1', 'benchmark3'), ('fuzzer2', 'benchmark3'), ('fuzzer3', 'benchmark1'), ('fuzzer3', 'benchmark3') ]
def make_builds(benchmarks, fuzzer): """Use make to test the fuzzer on each benchmark in |benchmarks|.""" fuzzer_benchmark_pairs = builder.get_fuzzer_benchmark_pairs([fuzzer], benchmarks) print('Building fuzzer-benchmark pairs: {}'.format(fuzzer_benchmark_pairs)) for _, benchmark in fuzzer_benchmark_pairs: make_target = get_make_target(fuzzer, benchmark) make_command = ['make', 'RUNNING_ON_CI=yes', '-j', make_target] run_command(make_command) # Delete docker images so disk doesn't fill up. delete_docker_images() return True
def make_builds(benchmarks, fuzzer): """Use make to test the fuzzer on each benchmark in |benchmarks|.""" fuzzer_benchmark_pairs = builder.get_fuzzer_benchmark_pairs([fuzzer], benchmarks) print('Building fuzzer-benchmark pairs: {}'.format(fuzzer_benchmark_pairs)) for _, benchmark in fuzzer_benchmark_pairs: make_target = get_make_target(fuzzer, benchmark) make_command = ['make', 'RUNNING_ON_CI=yes', '-j', make_target] print('Running command:', ' '.join(make_command)) result = subprocess.run(make_command, check=False) if not result.returncode == 0: return False # Delete docker images so disk doesn't fill up. delete_docker_images() return True
def make_builds(benchmarks, fuzzer): """Use make to test the fuzzer on each benchmark in |benchmarks|.""" fuzzer_benchmark_pairs = builder.get_fuzzer_benchmark_pairs([fuzzer], benchmarks) # Sort benchmarks so that they get built in a deterministic order. fuzzer_benchmark_pairs = sorted(fuzzer_benchmark_pairs, key=lambda pair: pair[1]) print('Building fuzzer-benchmark pairs: {}'.format(fuzzer_benchmark_pairs)) for _, benchmark in fuzzer_benchmark_pairs: make_target = get_make_target(fuzzer, benchmark) make_command = ['make', 'RUNNING_ON_CI=yes', '-j', make_target] run_command(make_command) # Delete docker images so disk doesn't fill up. delete_docker_images() return True
def _test_build_fuzzers_benchmarks(fuzzers, benchmarks): """Asserts that each pair of fuzzer in |fuzzers| and benchmark in |benchmarks| can build.""" all_pairs = builder.get_fuzzer_benchmark_pairs(fuzzers, benchmarks) assert builder.build_all_fuzzer_benchmarks(fuzzers, benchmarks) == all_pairs