[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"});
 }