driver: Refactor away CoverageMap dependency
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt b/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt
index 098cf38..e852f69 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt
+++ b/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt
@@ -63,7 +63,8 @@
* [dumpCoverageReport] dumps a human-readable coverage report of files using any [coveredIds] to [dumpFileName].
*/
@JvmStatic
- fun dumpCoverageReport(coveredIds: IntArray, dumpFileName: String) {
+ @JvmOverloads
+ fun dumpCoverageReport(dumpFileName: String, coveredIds: IntArray = CoverageMap.getEverCoveredIds()) {
File(dumpFileName).bufferedWriter().use { writer ->
writer.write(computeFileCoverage(coveredIds))
}
@@ -114,9 +115,10 @@
* can be used by the JaCoCo report command to create reports also including not covered files.
*/
@JvmStatic
- fun dumpJacocoCoverage(coveredIds: IntArray, dumpFileName: String) {
+ @JvmOverloads
+ fun dumpJacocoCoverage(dumpFileName: String, coveredIds: IntArray = CoverageMap.getEverCoveredIds()) {
FileOutputStream(dumpFileName).use { outStream ->
- dumpJacocoCoverage(coveredIds, outStream)
+ dumpJacocoCoverage(outStream, coveredIds)
}
}
@@ -124,7 +126,7 @@
* [dumpJacocoCoverage] dumps the JaCoCo coverage of files using any [coveredIds] to [outStream].
*/
@JvmStatic
- fun dumpJacocoCoverage(coveredIds: IntArray, outStream: OutputStream) {
+ fun dumpJacocoCoverage(outStream: OutputStream, coveredIds: IntArray) {
// Return if no class has been instrumented.
val startTimestamp = startTimestamp ?: return
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/runtime/BUILD.bazel b/agent/src/main/java/com/code_intelligence/jazzer/runtime/BUILD.bazel
index 8594e2c..a9b9b3b 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/runtime/BUILD.bazel
+++ b/agent/src/main/java/com/code_intelligence/jazzer/runtime/BUILD.bazel
@@ -6,7 +6,6 @@
visibility = [
"//agent/src/jmh/java/com/code_intelligence/jazzer/instrumentor:__pkg__",
"//agent/src/main/java/com/code_intelligence/jazzer/instrumentor:__pkg__",
- "//driver/src/main/java/com/code_intelligence/jazzer/driver:__pkg__",
"//driver/src/main/native/com/code_intelligence/jazzer/driver:__pkg__",
"//driver/src/test:__subpackages__",
],
diff --git a/driver/src/main/java/com/code_intelligence/jazzer/driver/BUILD.bazel b/driver/src/main/java/com/code_intelligence/jazzer/driver/BUILD.bazel
index 6186e76..0323a85 100644
--- a/driver/src/main/java/com/code_intelligence/jazzer/driver/BUILD.bazel
+++ b/driver/src/main/java/com/code_intelligence/jazzer/driver/BUILD.bazel
@@ -44,7 +44,6 @@
"//agent/src/main/java/com/code_intelligence/jazzer/api",
"//agent/src/main/java/com/code_intelligence/jazzer/instrumentor",
"//agent/src/main/java/com/code_intelligence/jazzer/runtime",
- "//agent/src/main/java/com/code_intelligence/jazzer/runtime:coverage_map",
"//agent/src/main/java/com/code_intelligence/jazzer/utils:manifest_utils",
"//agent/src/main/java/com/code_intelligence/jazzer/utils:unsafe_provider",
"//driver/src/main/java/com/code_intelligence/jazzer/autofuzz",
diff --git a/driver/src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java b/driver/src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java
index 1ea79c3..f40417f 100644
--- a/driver/src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java
+++ b/driver/src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java
@@ -23,7 +23,6 @@
import com.code_intelligence.jazzer.api.FuzzedDataProvider;
import com.code_intelligence.jazzer.autofuzz.FuzzTarget;
import com.code_intelligence.jazzer.instrumentor.CoverageRecorder;
-import com.code_intelligence.jazzer.runtime.CoverageMap;
import com.code_intelligence.jazzer.runtime.JazzerInternal;
import com.code_intelligence.jazzer.utils.ExceptionUtils;
import com.code_intelligence.jazzer.utils.ManifestUtils;
@@ -284,12 +283,11 @@
private static void shutdown() {
if (!Opt.coverageDump.isEmpty() || !Opt.coverageReport.isEmpty()) {
- int[] everCoveredIds = CoverageMap.getEverCoveredIds();
if (!Opt.coverageDump.isEmpty()) {
- CoverageRecorder.dumpJacocoCoverage(everCoveredIds, Opt.coverageDump);
+ CoverageRecorder.dumpJacocoCoverage(Opt.coverageDump);
}
if (!Opt.coverageReport.isEmpty()) {
- CoverageRecorder.dumpCoverageReport(everCoveredIds, Opt.coverageReport);
+ CoverageRecorder.dumpCoverageReport(Opt.coverageReport);
}
}