示例#1
0
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