diff options
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", |