diff options
Diffstat (limited to 'cc/cc_test.go')
-rw-r--r-- | cc/cc_test.go | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/cc/cc_test.go b/cc/cc_test.go index 24732bf7d..ac1a49fd8 100644 --- a/cc/cc_test.go +++ b/cc/cc_test.go @@ -3343,8 +3343,8 @@ func TestErrorsIfAModuleDependsOnDisabled(t *testing.T) { } func TestAFLFuzzTarget(t *testing.T) { - ctx := testCc(t, ` - cc_afl_fuzz { + bp := ` + cc_fuzz { name: "test_afl_fuzz_target", srcs: ["foo.c"], host_supported: true, @@ -3354,17 +3354,10 @@ func TestAFLFuzzTarget(t *testing.T) { shared_libs: [ "afl_fuzz_shared_lib", ], - } - cc_fuzz { - name: "test_fuzz_target", - srcs: ["foo.c"], - static_libs: [ - "afl_fuzz_static_lib", - "libfuzzer_only_static_lib", - ], - shared_libs: [ - "afl_fuzz_shared_lib", - ], + fuzzing_frameworks: { + afl: true, + libfuzzer: false, + }, } cc_library { name: "afl_fuzz_static_lib", @@ -3409,12 +3402,19 @@ func TestAFLFuzzTarget(t *testing.T) { host_supported: true, srcs: ["second_file.c"], } - filegroup { + cc_object { name: "aflpp_driver", + host_supported: true, srcs: [ "aflpp_driver.c", ], - }`) + }` + + testEnv := map[string]string{ + "FUZZ_FRAMEWORK": "AFL", + } + + ctx := android.GroupFixturePreparers(prepareForCcTest, android.FixtureMergeEnv(testEnv)).RunTestWithBp(t, bp) checkPcGuardFlag := func( modName string, variantName string, shouldHave bool) { @@ -3434,31 +3434,28 @@ func TestAFLFuzzTarget(t *testing.T) { } } - for _, vnt := range ctx.ModuleVariantsForTests("libfuzzer_only_static_lib") { - if strings.Contains(vnt, "fuzzer_afl") { - t.Errorf("libfuzzer_only_static_lib has afl variant and should not") - } - } - moduleName := "test_afl_fuzz_target" - variantName := "android_arm64_armv8-a_fuzzer_afl" - checkPcGuardFlag(moduleName, variantName, true) + hostVariant := "linux_glibc_x86_64" + armVariant := "android_arm64_armv8-a" + checkPcGuardFlag(moduleName, armVariant+"_fuzzer", true) + checkPcGuardFlag(moduleName, hostVariant+"_fuzzer", true) moduleName = "afl_fuzz_static_lib" - variantName = "android_arm64_armv8-a_static" - checkPcGuardFlag(moduleName, variantName, false) - checkPcGuardFlag(moduleName, variantName+"_fuzzer", false) - checkPcGuardFlag(moduleName, variantName+"_fuzzer_afl", true) + checkPcGuardFlag(moduleName, armVariant+"_static", false) + checkPcGuardFlag(moduleName, armVariant+"_static_fuzzer", true) + checkPcGuardFlag(moduleName, hostVariant+"_static", false) + checkPcGuardFlag(moduleName, hostVariant+"_static_fuzzer", true) moduleName = "second_static_lib" - checkPcGuardFlag(moduleName, variantName, false) - checkPcGuardFlag(moduleName, variantName+"_fuzzer", false) - checkPcGuardFlag(moduleName, variantName+"_fuzzer_afl", true) + checkPcGuardFlag(moduleName, armVariant+"_static", false) + checkPcGuardFlag(moduleName, armVariant+"_static_fuzzer", true) + checkPcGuardFlag(moduleName, hostVariant+"_static", false) + checkPcGuardFlag(moduleName, hostVariant+"_static_fuzzer", true) ctx.ModuleForTests("afl_fuzz_shared_lib", "android_arm64_armv8-a_shared").Rule("cc") ctx.ModuleForTests("afl_fuzz_shared_lib", - "android_arm64_armv8-a_shared_fuzzer_afl").Rule("cc") + "android_arm64_armv8-a_shared_fuzzer").Rule("cc") } // Simple smoke test for the cc_fuzz target that ensures the rule compiles |