Skip to content

Commit 9f50983

Browse files
authored
removed need for friend declaration of test class in AnalyzerInformation (danmar#7921)
1 parent e42a30b commit 9f50983

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

lib/analyzerinfo.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,8 @@ namespace tinyxml2 {
5353
*/
5454
class CPPCHECKLIB AnalyzerInformation {
5555
public:
56-
friend class TestAnalyzerInformation;
57-
5856
~AnalyzerInformation();
5957

60-
static std::string getFilesTxt(const std::list<std::string> &sourcefiles, const std::string &userDefines, const std::list<FileSettings> &fileSettings);
61-
6258
static void writeFilesTxt(const std::string &buildDir, const std::list<std::string> &sourcefiles, const std::string &userDefines, const std::list<FileSettings> &fileSettings);
6359

6460
/** Close current TU.analyzerinfo file */
@@ -80,11 +76,13 @@ class CPPCHECKLIB AnalyzerInformation {
8076
};
8177

8278
protected:
79+
static std::string getFilesTxt(const std::list<std::string> &sourcefiles, const std::string &userDefines, const std::list<FileSettings> &fileSettings);
80+
8381
static std::string getAnalyzerInfoFileFromFilesTxt(std::istream& filesTxt, const std::string &sourcefile, const std::string &cfg, int fileIndex);
8482

85-
private:
8683
static bool skipAnalysis(const tinyxml2::XMLDocument &analyzerInfoDoc, std::size_t hash, std::list<ErrorMessage> &errors);
8784

85+
private:
8886
std::ofstream mOutputStream;
8987
std::string mAnalyzerInfoFile;
9088
};

test/testanalyzerinformation.cpp

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,15 @@
2828

2929
#include "xml.h"
3030

31-
class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation {
31+
class TestAnalyzerInformation : public TestFixture {
3232
public:
3333
TestAnalyzerInformation() : TestFixture("TestAnalyzerInformation") {}
3434

3535
private:
36+
class AnalyzerInformationTest : public AnalyzerInformation
37+
{
38+
friend class TestAnalyzerInformation;
39+
};
3640

3741
void run() override {
3842
TEST_CASE(getAnalyzerInfoFile);
@@ -45,9 +49,9 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
4549
void getAnalyzerInfoFile() const {
4650
constexpr char filesTxt[] = "file1.a4:::file1.c\n";
4751
std::istringstream f1(filesTxt);
48-
ASSERT_EQUALS("file1.a4", getAnalyzerInfoFileFromFilesTxt(f1, "file1.c", "", 0));
52+
ASSERT_EQUALS("file1.a4", AnalyzerInformationTest::getAnalyzerInfoFileFromFilesTxt(f1, "file1.c", "", 0));
4953
std::istringstream f2(filesTxt);
50-
ASSERT_EQUALS("file1.a4", getAnalyzerInfoFileFromFilesTxt(f2, "./file1.c", "", 0));
54+
ASSERT_EQUALS("file1.a4", AnalyzerInformationTest::getAnalyzerInfoFileFromFilesTxt(f2, "./file1.c", "", 0));
5155
ASSERT_EQUALS("builddir/file1.c.analyzerinfo", AnalyzerInformation::getAnalyzerInfoFile("builddir", "file1.c", "", 0));
5256
ASSERT_EQUALS("builddir/file1.c.analyzerinfo", AnalyzerInformation::getAnalyzerInfoFile("builddir", "some/path/file1.c", "", 0));
5357
}
@@ -62,17 +66,17 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
6266
const char expected[] = "a.a1:::a.c\n"
6367
"a.a2::1:a.c\n";
6468

65-
ASSERT_EQUALS(expected, getFilesTxt({}, "", fileSettings));
69+
ASSERT_EQUALS(expected, AnalyzerInformationTest::getFilesTxt({}, "", fileSettings));
6670
}
6771

6872
void duplicateFile() const {
6973
// same file duplicated
7074
constexpr char filesTxt[] = "file1.a1::1:file1.c\n"
7175
"file1.a2::2:file1.c\n";
7276
std::istringstream f1(filesTxt);
73-
ASSERT_EQUALS("file1.a1", getAnalyzerInfoFileFromFilesTxt(f1, "file1.c", "", 1));
77+
ASSERT_EQUALS("file1.a1", AnalyzerInformationTest::getAnalyzerInfoFileFromFilesTxt(f1, "file1.c", "", 1));
7478
std::istringstream f2(filesTxt);
75-
ASSERT_EQUALS("file1.a2", getAnalyzerInfoFileFromFilesTxt(f2, "file1.c", "", 2));
79+
ASSERT_EQUALS("file1.a2", AnalyzerInformationTest::getAnalyzerInfoFileFromFilesTxt(f2, "file1.c", "", 2));
7680
}
7781

7882
void parse() const {
@@ -118,7 +122,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
118122
);
119123
ASSERT_EQUALS(tinyxml2::XML_SUCCESS, xmlError);
120124

121-
ASSERT_EQUALS(false, AnalyzerInformation::skipAnalysis(doc, 100, errorList));
125+
ASSERT_EQUALS(false, AnalyzerInformationTest::skipAnalysis(doc, 100, errorList));
122126
ASSERT_EQUALS(0, errorList.size());
123127
}
124128

@@ -137,7 +141,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
137141
);
138142
ASSERT_EQUALS(tinyxml2::XML_SUCCESS, xmlError);
139143

140-
ASSERT_EQUALS(false, AnalyzerInformation::skipAnalysis(doc, 100, errorList));
144+
ASSERT_EQUALS(false, AnalyzerInformationTest::skipAnalysis(doc, 100, errorList));
141145
ASSERT_EQUALS(0, errorList.size());
142146
}
143147

@@ -156,7 +160,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
156160
);
157161
ASSERT_EQUALS(tinyxml2::XML_SUCCESS, xmlError);
158162

159-
ASSERT_EQUALS(false, AnalyzerInformation::skipAnalysis(doc, 100, errorList));
163+
ASSERT_EQUALS(false, AnalyzerInformationTest::skipAnalysis(doc, 100, errorList));
160164
ASSERT_EQUALS(0, errorList.size());
161165
}
162166

@@ -177,7 +181,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
177181
);
178182
ASSERT_EQUALS(tinyxml2::XML_SUCCESS, xmlError);
179183

180-
ASSERT_EQUALS(true, AnalyzerInformation::skipAnalysis(doc, 100, errorList));
184+
ASSERT_EQUALS(true, AnalyzerInformationTest::skipAnalysis(doc, 100, errorList));
181185
ASSERT_EQUALS(1, errorList.size());
182186
}
183187

@@ -193,7 +197,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
193197
);
194198
ASSERT_EQUALS(tinyxml2::XML_SUCCESS, xmlError);
195199

196-
ASSERT_EQUALS(true, AnalyzerInformation::skipAnalysis(doc, 100, errorList));
200+
ASSERT_EQUALS(true, AnalyzerInformationTest::skipAnalysis(doc, 100, errorList));
197201
ASSERT_EQUALS(0, errorList.size());
198202
}
199203

@@ -214,7 +218,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
214218
);
215219
ASSERT_EQUALS(tinyxml2::XML_SUCCESS, xmlError);
216220

217-
ASSERT_EQUALS(false, AnalyzerInformation::skipAnalysis(doc, 99, errorList));
221+
ASSERT_EQUALS(false, AnalyzerInformationTest::skipAnalysis(doc, 99, errorList));
218222
ASSERT_EQUALS(0, errorList.size());
219223
}
220224

@@ -226,7 +230,7 @@ class TestAnalyzerInformation : public TestFixture, private AnalyzerInformation
226230
const tinyxml2::XMLError xmlError = doc.Parse("");
227231
ASSERT_EQUALS(tinyxml2::XML_ERROR_EMPTY_DOCUMENT, xmlError);
228232

229-
ASSERT_EQUALS(false, AnalyzerInformation::skipAnalysis(doc, 100, errorList));
233+
ASSERT_EQUALS(false, AnalyzerInformationTest::skipAnalysis(doc, 100, errorList));
230234
ASSERT_EQUALS(0, errorList.size());
231235
}
232236
}

0 commit comments

Comments
 (0)