Skip to content

Commit 95a78ad

Browse files
author
kcc
committed
[libFuzzer] fix the unit tests
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer@354088 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 98a8624 commit 95a78ad

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

FuzzerMerge.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,10 @@ size_t Merger::ApproximateMemoryConsumption() const {
131131

132132
// Decides which files need to be merged (add those to NewFiles).
133133
// Returns the number of new features added.
134-
void Merger::Merge(const Set<uint32_t> &InitialFeatures,
135-
Set<uint32_t> *NewFeatures, const Set<uint32_t> &InitialCov,
136-
Set<uint32_t> *NewCov, Vector<std::string> *NewFiles) {
134+
size_t Merger::Merge(const Set<uint32_t> &InitialFeatures,
135+
Set<uint32_t> *NewFeatures,
136+
const Set<uint32_t> &InitialCov, Set<uint32_t> *NewCov,
137+
Vector<std::string> *NewFiles) {
137138
NewFiles->clear();
138139
assert(NumFilesInFirstCorpus <= Files.size());
139140
Set<uint32_t> AllFeatures = InitialFeatures;
@@ -181,6 +182,7 @@ void Merger::Merge(const Set<uint32_t> &InitialFeatures,
181182
if (InitialCov.find(Cov) == InitialCov.end())
182183
NewCov->insert(Cov);
183184
}
185+
return NewFeatures->size();
184186
}
185187

186188
Set<uint32_t> Merger::AllFeatures() const {

FuzzerMerge.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ struct Merger {
6363
bool Parse(std::istream &IS, bool ParseCoverage);
6464
bool Parse(const std::string &Str, bool ParseCoverage);
6565
void ParseOrExit(std::istream &IS, bool ParseCoverage);
66-
void Merge(const Set<uint32_t> &InitialFeatures, Set<uint32_t> *NewFeatures,
67-
const Set<uint32_t> &InitialCov, Set<uint32_t> *NewCov,
68-
Vector<std::string> *NewFiles);
66+
size_t Merge(const Set<uint32_t> &InitialFeatures, Set<uint32_t> *NewFeatures,
67+
const Set<uint32_t> &InitialCov, Set<uint32_t> *NewCov,
68+
Vector<std::string> *NewFiles);
6969
size_t ApproximateMemoryConsumption() const;
7070
Set<uint32_t> AllFeatures() const;
7171
};

tests/FuzzerUnittest.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -644,9 +644,9 @@ static void Merge(const std::string &Input,
644644
size_t NumNewFeatures) {
645645
Merger M;
646646
Vector<std::string> NewFiles;
647-
Set<uint32_t> NewFeatures;
647+
Set<uint32_t> NewFeatures, NewCov;
648648
EXPECT_TRUE(M.Parse(Input, true));
649-
EXPECT_EQ(NumNewFeatures, M.Merge({}, &NewFeatures, &NewFiles));
649+
EXPECT_EQ(NumNewFeatures, M.Merge({}, &NewFeatures, {}, &NewCov, &NewFiles));
650650
EQ(NewFiles, Result);
651651
}
652652

@@ -690,7 +690,7 @@ TEST(Merge, Good) {
690690

691691

692692
Vector<std::string> NewFiles;
693-
Set<uint32_t> NewFeatures;
693+
Set<uint32_t> NewFeatures, NewCov;
694694

695695
EXPECT_TRUE(M.Parse("3\n2\nAA\nBB\nC\n"
696696
"STARTED 0 1000\nFT 0 1 2 3\n"
@@ -704,7 +704,7 @@ TEST(Merge, Good) {
704704
EQ(M.Files[0].Features, {1, 2, 3});
705705
EQ(M.Files[1].Features, {4, 5, 6});
706706
EQ(M.Files[2].Features, {1, 3, 6});
707-
EXPECT_EQ(0U, M.Merge({}, &NewFeatures, &NewFiles));
707+
EXPECT_EQ(0U, M.Merge({}, &NewFeatures, {}, &NewCov, &NewFiles));
708708
EQ(NewFiles, {});
709709

710710
EXPECT_TRUE(M.Parse("3\n1\nA\nB\nC\n"
@@ -715,7 +715,7 @@ TEST(Merge, Good) {
715715
EQ(M.Files[0].Features, {1, 2, 3});
716716
EQ(M.Files[1].Features, {4, 5, 6});
717717
EQ(M.Files[2].Features, {1, 3, 6});
718-
EXPECT_EQ(3U, M.Merge({}, &NewFeatures, &NewFiles));
718+
EXPECT_EQ(3U, M.Merge({}, &NewFeatures, {}, &NewCov, &NewFiles));
719719
EQ(NewFiles, {"B"});
720720

721721
// Same as the above, but with InitialFeatures.
@@ -729,7 +729,7 @@ TEST(Merge, Good) {
729729
InitialFeatures.insert(1);
730730
InitialFeatures.insert(2);
731731
InitialFeatures.insert(3);
732-
EXPECT_EQ(3U, M.Merge(InitialFeatures, &NewFeatures, &NewFiles));
732+
EXPECT_EQ(3U, M.Merge(InitialFeatures, &NewFeatures, {}, &NewCov, &NewFiles));
733733
EQ(NewFiles, {"B"});
734734
}
735735

0 commit comments

Comments
 (0)