def get_changed_fuzzers(changed_files: List[str] = None) -> List[str]: """Returns a list of fuzzers that have changed functionality based on the files that have changed in |changed_files|.""" changed_files = get_absolute_paths(changed_files) changed_fuzzers = fuzzer_dependencies.get_files_dependent_fuzzers( changed_files) return changed_fuzzers
def test_get_files_dependent_fuzzers_variant(): """Test that only variants are depndent on variants.yaml.""" afl_variants_yaml_path = os.path.join(utils.ROOT_DIR, 'fuzzers', 'afl', 'variants.yaml') dependent_fuzzers = fuzzer_dependencies.get_files_dependent_fuzzers( [afl_variants_yaml_path]) assert dependent_fuzzers == [VARIANT]
def test_get_files_dependent_fuzzers_afl_runner_dockerfile(): """Tests that the right modules are returned by get_files_dependent_fuzzers when passed fuzzers/afl/runner.Dockerfile.""" afl_runner_dockerfile = os.path.join(utils.ROOT_DIR, 'fuzzers', 'afl', 'runner.Dockerfile') dependent_fuzzers = fuzzer_dependencies.get_files_dependent_fuzzers( [afl_runner_dockerfile]) assert 'fairfuzz' not in dependent_fuzzers # Ensure that the fuzzer itself is in the list of dependent_fuzzers. assert 'afl' in dependent_fuzzers
def test_get_files_dependent_fuzzers_afl_fuzzer_py(): """Tests that the right fuzzer modules are returned by get_files_dependent_fuzzers when passed fuzzers/afl/fuzzer.py. Note that this test relies on afl/fuzzer.py being a dependency of fairfuzz/fuzzer.py.""" afl_fuzzer_py_path = os.path.join(utils.ROOT_DIR, 'fuzzers', 'afl', 'fuzzer.py') dependent_fuzzers = fuzzer_dependencies.get_files_dependent_fuzzers( [afl_fuzzer_py_path]) assert 'fairfuzz' in dependent_fuzzers # Ensure that the fuzzer itself is in the list of dependent_fuzzers. assert 'afl' in dependent_fuzzers