junit: Tag Jazzer test engine tests with `"jazzer"`
Without this tag and with `JAZZER_FUZZ=1` set, Jazzer fuzz tests
otherwise wouldn't be executed by the JUnit launcher.
diff --git a/driver/src/main/java/com/code_intelligence/jazzer/junit/JazzerTestEngine.java b/driver/src/main/java/com/code_intelligence/jazzer/junit/JazzerTestEngine.java
index 8cbd8f0..26994a7 100644
--- a/driver/src/main/java/com/code_intelligence/jazzer/junit/JazzerTestEngine.java
+++ b/driver/src/main/java/com/code_intelligence/jazzer/junit/JazzerTestEngine.java
@@ -18,7 +18,9 @@
import java.lang.reflect.Method;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.Collections;
import java.util.Optional;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.jupiter.api.DisplayNameGenerator;
import org.junit.platform.commons.support.AnnotationSupport;
@@ -30,6 +32,7 @@
import org.junit.platform.engine.TestDescriptor;
import org.junit.platform.engine.TestEngine;
import org.junit.platform.engine.TestExecutionResult;
+import org.junit.platform.engine.TestTag;
import org.junit.platform.engine.UniqueId;
import org.junit.platform.engine.discovery.ClassSelector;
import org.junit.platform.engine.discovery.ClasspathRootSelector;
@@ -65,6 +68,11 @@
return Type.TEST;
}
+ @Override
+ public Set<TestTag> getTags() {
+ return Collections.singleton(TestTag.create("jazzer"));
+ }
+
public Method getMethod() {
return method;
}
diff --git a/driver/src/test/java/com/code_intelligence/jazzer/junit/BUILD.bazel b/driver/src/test/java/com/code_intelligence/jazzer/junit/BUILD.bazel
index 26dc8f1..7339fa8 100644
--- a/driver/src/test/java/com/code_intelligence/jazzer/junit/BUILD.bazel
+++ b/driver/src/test/java/com/code_intelligence/jazzer/junit/BUILD.bazel
@@ -56,6 +56,7 @@
"@maven//:org_junit_jupiter_junit_jupiter_api",
"@maven//:org_junit_jupiter_junit_jupiter_engine",
"@maven//:org_junit_platform_junit_platform_engine",
+ "@maven//:org_junit_platform_junit_platform_launcher",
"@maven//:org_junit_platform_junit_platform_testkit",
"@maven//:org_opentest4j_opentest4j",
],
diff --git a/driver/src/test/java/com/code_intelligence/jazzer/junit/FuzzingWithCrashTest.java b/driver/src/test/java/com/code_intelligence/jazzer/junit/FuzzingWithCrashTest.java
index fa8bccd..a197edc 100644
--- a/driver/src/test/java/com/code_intelligence/jazzer/junit/FuzzingWithCrashTest.java
+++ b/driver/src/test/java/com/code_intelligence/jazzer/junit/FuzzingWithCrashTest.java
@@ -35,6 +35,7 @@
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.platform.launcher.TagFilter;
import org.junit.platform.testkit.engine.EngineExecutionResults;
import org.junit.platform.testkit.engine.EngineTestKit;
import org.junit.platform.testkit.engine.EventType;
@@ -65,6 +66,7 @@
private EngineExecutionResults executeTests() {
return EngineTestKit.engine("com.code_intelligence.jazzer")
.selectors(selectClass("com.example.ValidFuzzTests"))
+ .filters(TagFilter.includeTags("jazzer"))
.configurationParameter(
"jazzer.instrument", "com.other.package.**,com.example.**,com.yet.another.package.*")
.configurationParameter("jazzer.internal.basedir", baseDir.toAbsolutePath().toString())
diff --git a/maven.bzl b/maven.bzl
index 1bb211f..83e86e4 100644
--- a/maven.bzl
+++ b/maven.bzl
@@ -45,6 +45,7 @@
"org.junit.jupiter:junit-jupiter-engine:5.9.0",
"org.junit.jupiter:junit-jupiter-params:5.9.0",
"org.junit.platform:junit-platform-commons:jar:1.9.0",
+ "org.junit.platform:junit-platform-launcher:jar:1.9.0",
"org.junit.platform:junit-platform-engine:jar:1.9.0",
"org.junit.platform:junit-platform-testkit:jar:1.9.0",
"org.openjdk.jmh:jmh-core:1.34",
diff --git a/maven_install.json b/maven_install.json
index da21674..2c556ff 100644
--- a/maven_install.json
+++ b/maven_install.json
@@ -1,7 +1,7 @@
{
"dependency_tree": {
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
- "__INPUT_ARTIFACTS_HASH": -819110200,
+ "__INPUT_ARTIFACTS_HASH": -979557745,
"__RESOLVED_ARTIFACTS_HASH": 126931969,
"conflict_resolution": {
"junit:junit:4.12": "junit:junit:4.13.2"