[libFuzzer] fix the unit tests
llvm-svn: 354088
GitOrigin-RevId: b96b10d1a3c9da48dcd65eafbc2a09d1b5e4cc61
diff --git a/FuzzerMerge.cpp b/FuzzerMerge.cpp
index 549d180..870a875 100644
--- a/FuzzerMerge.cpp
+++ b/FuzzerMerge.cpp
@@ -131,9 +131,10 @@
// Decides which files need to be merged (add those to NewFiles).
// Returns the number of new features added.
-void Merger::Merge(const Set<uint32_t> &InitialFeatures,
- Set<uint32_t> *NewFeatures, const Set<uint32_t> &InitialCov,
- Set<uint32_t> *NewCov, Vector<std::string> *NewFiles) {
+size_t Merger::Merge(const Set<uint32_t> &InitialFeatures,
+ Set<uint32_t> *NewFeatures,
+ const Set<uint32_t> &InitialCov, Set<uint32_t> *NewCov,
+ Vector<std::string> *NewFiles) {
NewFiles->clear();
assert(NumFilesInFirstCorpus <= Files.size());
Set<uint32_t> AllFeatures = InitialFeatures;
@@ -181,6 +182,7 @@
if (InitialCov.find(Cov) == InitialCov.end())
NewCov->insert(Cov);
}
+ return NewFeatures->size();
}
Set<uint32_t> Merger::AllFeatures() const {
diff --git a/FuzzerMerge.h b/FuzzerMerge.h
index 7a0cd4b..c14dd58 100644
--- a/FuzzerMerge.h
+++ b/FuzzerMerge.h
@@ -63,9 +63,9 @@
bool Parse(std::istream &IS, bool ParseCoverage);
bool Parse(const std::string &Str, bool ParseCoverage);
void ParseOrExit(std::istream &IS, bool ParseCoverage);
- void Merge(const Set<uint32_t> &InitialFeatures, Set<uint32_t> *NewFeatures,
- const Set<uint32_t> &InitialCov, Set<uint32_t> *NewCov,
- Vector<std::string> *NewFiles);
+ size_t Merge(const Set<uint32_t> &InitialFeatures, Set<uint32_t> *NewFeatures,
+ const Set<uint32_t> &InitialCov, Set<uint32_t> *NewCov,
+ Vector<std::string> *NewFiles);
size_t ApproximateMemoryConsumption() const;
Set<uint32_t> AllFeatures() const;
};
diff --git a/tests/FuzzerUnittest.cpp b/tests/FuzzerUnittest.cpp
index f3fee95..d9bdfc1 100644
--- a/tests/FuzzerUnittest.cpp
+++ b/tests/FuzzerUnittest.cpp
@@ -644,9 +644,9 @@
size_t NumNewFeatures) {
Merger M;
Vector<std::string> NewFiles;
- Set<uint32_t> NewFeatures;
+ Set<uint32_t> NewFeatures, NewCov;
EXPECT_TRUE(M.Parse(Input, true));
- EXPECT_EQ(NumNewFeatures, M.Merge({}, &NewFeatures, &NewFiles));
+ EXPECT_EQ(NumNewFeatures, M.Merge({}, &NewFeatures, {}, &NewCov, &NewFiles));
EQ(NewFiles, Result);
}
@@ -690,7 +690,7 @@
Vector<std::string> NewFiles;
- Set<uint32_t> NewFeatures;
+ Set<uint32_t> NewFeatures, NewCov;
EXPECT_TRUE(M.Parse("3\n2\nAA\nBB\nC\n"
"STARTED 0 1000\nFT 0 1 2 3\n"
@@ -704,7 +704,7 @@
EQ(M.Files[0].Features, {1, 2, 3});
EQ(M.Files[1].Features, {4, 5, 6});
EQ(M.Files[2].Features, {1, 3, 6});
- EXPECT_EQ(0U, M.Merge({}, &NewFeatures, &NewFiles));
+ EXPECT_EQ(0U, M.Merge({}, &NewFeatures, {}, &NewCov, &NewFiles));
EQ(NewFiles, {});
EXPECT_TRUE(M.Parse("3\n1\nA\nB\nC\n"
@@ -715,7 +715,7 @@
EQ(M.Files[0].Features, {1, 2, 3});
EQ(M.Files[1].Features, {4, 5, 6});
EQ(M.Files[2].Features, {1, 3, 6});
- EXPECT_EQ(3U, M.Merge({}, &NewFeatures, &NewFiles));
+ EXPECT_EQ(3U, M.Merge({}, &NewFeatures, {}, &NewCov, &NewFiles));
EQ(NewFiles, {"B"});
// Same as the above, but with InitialFeatures.
@@ -729,7 +729,7 @@
InitialFeatures.insert(1);
InitialFeatures.insert(2);
InitialFeatures.insert(3);
- EXPECT_EQ(3U, M.Merge(InitialFeatures, &NewFeatures, &NewFiles));
+ EXPECT_EQ(3U, M.Merge(InitialFeatures, &NewFeatures, {}, &NewCov, &NewFiles));
EQ(NewFiles, {"B"});
}