aboutsummaryrefslogtreecommitdiff
path: root/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java
diff options
context:
space:
mode:
Diffstat (limited to 'agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java')
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java14
1 files changed, 12 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();