diff options
author | Fabian Meumertzheim <meumertzheim@code-intelligence.com> | 2021-10-18 17:41:45 +0200 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-10-19 11:07:51 +0200 |
commit | 908ee7f9505c684b0f6ddd66165af079d9aea315 (patch) | |
tree | 67854d6367890e62492c0d3de60683b78245293d /agent/src | |
parent | 2fca962f0a38c5f8e3606f501bc28f9435e4b751 (diff) | |
download | jazzer-api-908ee7f9505c684b0f6ddd66165af079d9aea315.tar.gz |
Do not find our own classes
This could pretty wild AutofillErrors.
Diffstat (limited to 'agent/src')
-rw-r--r-- | agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java | 14 | ||||
-rw-r--r-- | agent/src/test/java/com/code_intelligence/jazzer/autofuzz/BUILD.bazel | 4 |
2 files changed, 16 insertions, 2 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java index 54a4a4fe..246ec9ea 100644 --- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java +++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java @@ -144,8 +144,13 @@ public class Meta { } else if (type.isInterface() || Modifier.isAbstract(type.getModifiers())) { List<Class<?>> implementingClasses = implementingClassesCache.get(type); if (implementingClasses == null) { - try (ScanResult result = - new ClassGraph().enableClassInfo().enableInterClassDependencies().scan()) { + ClassGraph classGraph = + new ClassGraph().enableClassInfo().enableInterClassDependencies().rejectPackages( + "jaz.*"); + if (!isTest()) { + classGraph.rejectPackages("com.code_intelligence.jazzer.*"); + } + try (ScanResult result = classGraph.scan()) { ClassInfoList children = type.isInterface() ? result.getClassesImplementing(type) : result.getSubclasses(type); implementingClasses = @@ -225,6 +230,11 @@ public class Meta { } } + static boolean isTest() { + String value = System.getenv("JAZZER_AUTOFUZZ_TESTING"); + return value != null && !value.isEmpty(); + } + static boolean isDebug() { String value = System.getenv("JAZZER_AUTOFUZZ_DEBUG"); return value != null && !value.isEmpty(); diff --git a/agent/src/test/java/com/code_intelligence/jazzer/autofuzz/BUILD.bazel b/agent/src/test/java/com/code_intelligence/jazzer/autofuzz/BUILD.bazel index cc71e09d..2414c470 100644 --- a/agent/src/test/java/com/code_intelligence/jazzer/autofuzz/BUILD.bazel +++ b/agent/src/test/java/com/code_intelligence/jazzer/autofuzz/BUILD.bazel @@ -21,6 +21,10 @@ java_test( srcs = [ "InterfaceCreationTest.java", ], + env = { + # Also consider implementing classes from com.code_intelligence.jazzer.*. + "JAZZER_AUTOFUZZ_TESTING": "1", + }, test_class = "com.code_intelligence.jazzer.autofuzz.InterfaceCreationTest", deps = [ "//agent/src/main/java/com/code_intelligence/jazzer/api", |