aboutsummaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorFabian Meumertzheim <meumertzheim@code-intelligence.com>2021-10-18 15:21:01 +0200
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-10-19 11:07:51 +0200
commit8a1a41314e99ffce548f43c1d0b361a6b470c5a6 (patch)
tree86936096681fd39fc9a5e148a881b703f84e1c04 /agent
parentaada4f8b0b8e8fcadc3139fdd8e970e013d395c0 (diff)
downloadjazzer-api-8a1a41314e99ffce548f43c1d0b361a6b470c5a6.tar.gz
More informative error message in case of no implementing class
Diffstat (limited to 'agent')
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java3
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java4
2 files changed, 7 insertions, 0 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java
index 760fef3d..e1d775c4 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java
+++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java
@@ -19,6 +19,9 @@ package com.code_intelligence.jazzer.autofuzz;
* not the actual invocation of an autofuzzed method.
*/
public class AutofuzzConstructionException extends RuntimeException {
+ public AutofuzzConstructionException(String message) {
+ super(message);
+ }
public AutofuzzConstructionException(Throwable cause) {
super(cause);
}
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 e31d7201..88826b9b 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
@@ -146,6 +146,10 @@ public class Meta {
cache.put(type, implementingClasses);
}
}
+ if (implementingClasses.isEmpty()) {
+ throw new AutofuzzConstructionException(String.format(
+ "Could not find classes implementing %s on the classpath", type.getName()));
+ }
return consume(data, data.pickValue(implementingClasses));
} else if (type.getConstructors().length > 0) {
Constructor<?> constructor = data.pickValue(type.getConstructors());