Skip to content

Commit 9575e90

Browse files
committed
s
1 parent db3201a commit 9575e90

26 files changed

+115
-216
lines changed

test/fixture.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ extern std::ostringstream output;
210210
#define LOAD_LIB_2_EXE( LIB, NAME, EXE ) do { if (((LIB).load((EXE), NAME).errorcode != Library::ErrorCode::OK)) throw std::runtime_error("library '" + std::string(NAME) + "' not found"); } while (false)
211211
#define LOAD_LIB_2( LIB, NAME ) LOAD_LIB_2_EXE(LIB, NAME, exename.c_str())
212212

213+
#define LOAD_LIB_DOC( DOC ) do { (LIB).load(DOC); if.errorcode != Library::ErrorCode::OK)) throw std::runtime_error("library '" + std::string(NAME) + "' not found"); } while (false)
214+
213215
#define PLATFORM( S, P ) do { std::string errstr; assertEquals(__FILE__, __LINE__, true, S.platform(cppcheck::Platform::platformString(P), errstr, {exename}), errstr); } while (false)
214216

215217
#endif // fixtureH

test/testautovariables.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,29 +30,25 @@ class TestAutoVariables : public TestFixture {
3030
TestAutoVariables() : TestFixture("TestAutoVariables") {}
3131

3232
private:
33-
Settings settings;
33+
const Settings settings = settingsBuilder().severity(Severity::warning).severity(Severity::style).library("std.cfg").library("qt.cfg").build();
3434

3535
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
3636
void check_(const char* file, int line, const char code[], bool inconclusive = true, const char* filename = "test.cpp") {
3737
// Clear the error buffer..
3838
errout.str("");
3939

40-
settings.certainty.setEnabled(Certainty::inconclusive, inconclusive);
40+
Settings settings1 = settings;
41+
settings1.certainty.setEnabled(Certainty::inconclusive, inconclusive);
4142

4243
// Tokenize..
43-
Tokenizer tokenizer(&settings, this);
44+
Tokenizer tokenizer(&settings1, this);
4445
std::istringstream istr(code);
4546
ASSERT_LOC(tokenizer.tokenize(istr, filename), file, line);
4647

47-
runChecks<CheckAutoVariables>(&tokenizer, &settings, this);
48+
runChecks<CheckAutoVariables>(&tokenizer, &settings1, this);
4849
}
4950

5051
void run() override {
51-
settings.severity.enable(Severity::warning);
52-
settings.severity.enable(Severity::style);
53-
LOAD_LIB_2(settings.library, "std.cfg");
54-
LOAD_LIB_2(settings.library, "qt.cfg");
55-
5652
TEST_CASE(testautovar1);
5753
TEST_CASE(testautovar2);
5854
TEST_CASE(testautovar3); // ticket #2925

test/testbool.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,9 @@ class TestBool : public TestFixture {
3030
TestBool() : TestFixture("TestBool") {}
3131

3232
private:
33-
Settings settings;
33+
const Settings settings = settingsBuilder().severity(Severity::style).severity(Severity::warning).certainty(Certainty::inconclusive).build();
3434

3535
void run() override {
36-
settings.severity.enable(Severity::style);
37-
settings.severity.enable(Severity::warning);
38-
settings.certainty.enable(Certainty::inconclusive);
39-
4036
TEST_CASE(bitwiseOnBoolean); // if (bool & bool)
4137
TEST_CASE(incrementBoolean);
4238
TEST_CASE(assignBoolToPointer);

test/testboost.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,9 @@ class TestBoost : public TestFixture {
3030
TestBoost() : TestFixture("TestBoost") {}
3131

3232
private:
33-
Settings settings;
33+
const Settings settings = settingsBuilder().severity(Severity::style).severity(Severity::performance).build();
3434

3535
void run() override {
36-
settings.severity.enable(Severity::style);
37-
settings.severity.enable(Severity::performance);
38-
3936
TEST_CASE(BoostForeachContainerModification);
4037
}
4138

test/testcharvar.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,10 @@ class TestCharVar : public TestFixture {
3131
TestCharVar() : TestFixture("TestCharVar") {}
3232

3333
private:
34-
Settings settings;
34+
Settings settings = settingsBuilder().severity(Severity::warning).severity(Severity::portability).build();
3535

3636
void run() override {
3737
PLATFORM(settings, Settings::Unspecified);
38-
settings.severity.enable(Severity::warning);
39-
settings.severity.enable(Severity::portability);
4038

4139
TEST_CASE(array_index_1);
4240
TEST_CASE(array_index_2);

test/testclangimport.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,7 @@ class TestClangImport : public TestFixture {
138138
}
139139

140140
std::string parse(const char clang[]) {
141-
Settings settings;
142-
settings.clang = true;
141+
const Settings settings = settingsBuilder().clang().build();
143142
Tokenizer tokenizer(&settings, this);
144143
std::istringstream istr(clang);
145144
clangimport::parseClangAstDump(&tokenizer, istr);
@@ -1050,8 +1049,7 @@ class TestClangImport : public TestFixture {
10501049

10511050

10521051
#define GET_SYMBOL_DB(AST) \
1053-
Settings settings; \
1054-
settings.clang = true; \
1052+
Settings settings = settingsBuilder().clang().build(); \
10551053
{ \
10561054
std::string errstr; \
10571055
ASSERT_EQUALS_MSG(true, settings.platform("unix64", errstr, {exename.c_str()}), errstr); \

test/testclass.cpp

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,10 @@ class TestClass : public TestFixture {
3737
TestClass() : TestFixture("TestClass") {}
3838

3939
private:
40-
Settings settings0;
41-
Settings settings1;
40+
Settings settings0 = settingsBuilder().severity(Severity::style).build();
41+
Settings settings1 = settingsBuilder().severity(Severity::warning).build();
4242

4343
void run() override {
44-
settings0.severity.enable(Severity::style);
45-
settings1.severity.enable(Severity::warning);
46-
4744
// Load std.cfg configuration
4845
{
4946
const char xmldata[] = "<?xml version=\"1.0\"?>\n"
@@ -259,8 +256,7 @@ class TestClass : public TestFixture {
259256
void checkCopyCtorAndEqOperator_(const char code[], const char* file, int line) {
260257
// Clear the error log
261258
errout.str("");
262-
Settings settings;
263-
settings.severity.enable(Severity::warning);
259+
const Settings settings = settingsBuilder().severity(Severity::warning).build();
264260

265261
// Tokenize..
266262
Tokenizer tokenizer(&settings, this);
@@ -2873,9 +2869,7 @@ class TestClass : public TestFixture {
28732869

28742870
#define checkNoMemset(...) checkNoMemset_(__FILE__, __LINE__, __VA_ARGS__)
28752871
void checkNoMemset_(const char* file, int line, const char code[]) {
2876-
Settings settings;
2877-
settings.severity.enable(Severity::warning);
2878-
settings.severity.enable(Severity::portability);
2872+
const Settings settings = settingsBuilder().severity(Severity::warning).severity(Severity::portability).build();
28792873
checkNoMemset_(file, line, code, settings);
28802874
}
28812875

@@ -3137,8 +3131,7 @@ class TestClass : public TestFixture {
31373131
errout.str());
31383132

31393133
// #1655
3140-
Settings s;
3141-
LOAD_LIB_2(s.library, "std.cfg");
3134+
const Settings s = settingsBuilder().library("std.cfg").build();
31423135
checkNoMemset("void f() {\n"
31433136
" char c[] = \"abc\";\n"
31443137
" std::string s;\n"

test/testcondition.cpp

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,28 +40,20 @@ class TestCondition : public TestFixture {
4040
TestCondition() : TestFixture("TestCondition") {}
4141

4242
private:
43-
Settings settings0;
44-
Settings settings1;
43+
Settings settings0 = settingsBuilder().severity(Severity::style).severity(Severity::warning).library("qt.cfg").library("std.cfg").build();
44+
Settings settings1 = settingsBuilder().severity(Severity::style).severity(Severity::warning).build();
4545

4646
void run() override {
4747
// known platform..
4848
PLATFORM(settings0, cppcheck::Platform::Native);
4949
PLATFORM(settings1, cppcheck::Platform::Native);
5050

51-
LOAD_LIB_2(settings0.library, "qt.cfg");
52-
LOAD_LIB_2(settings0.library, "std.cfg");
53-
54-
settings0.severity.enable(Severity::style);
55-
settings0.severity.enable(Severity::warning);
56-
5751
const char cfg[] = "<?xml version=\"1.0\"?>\n"
5852
"<def>\n"
5953
" <function name=\"bar\"> <pure/> </function>\n"
6054
"</def>";
6155
tinyxml2::XMLDocument xmldoc;
6256
xmldoc.Parse(cfg, sizeof(cfg));
63-
settings1.severity.enable(Severity::style);
64-
settings1.severity.enable(Severity::warning);
6557
settings1.library.load(xmldoc);
6658

6759
TEST_CASE(assignAndCompare); // assignment and comparison don't match
@@ -5578,8 +5570,7 @@ class TestCondition : public TestFixture {
55785570
}
55795571

55805572
void compareOutOfTypeRange() {
5581-
Settings settingsUnix64;
5582-
settingsUnix64.severity.enable(Severity::style);
5573+
Settings settingsUnix64 = settingsBuilder().severity(Severity::style).build();
55835574
PLATFORM(settingsUnix64, cppcheck::Platform::PlatformType::Unix64);
55845575

55855576
check("void f(unsigned char c) {\n"

test/testconstructors.cpp

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,22 +34,23 @@ class TestConstructors : public TestFixture {
3434
TestConstructors() : TestFixture("TestConstructors") {}
3535

3636
private:
37-
Settings settings;
37+
Settings settings = settingsBuilder().severity(Severity::style).severity(Severity::warning).build();
3838

3939
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
4040
void check_(const char* file, int line, const char code[], bool inconclusive = false) {
4141
// Clear the error buffer..
4242
errout.str("");
4343

44-
settings.certainty.setEnabled(Certainty::inconclusive, inconclusive);
44+
Settings settings1 = settings;
45+
settings1.certainty.setEnabled(Certainty::inconclusive, inconclusive);
4546

4647
// Tokenize..
47-
Tokenizer tokenizer(&settings, this);
48+
Tokenizer tokenizer(&settings1, this);
4849
std::istringstream istr(code);
4950
ASSERT_LOC(tokenizer.tokenize(istr, "test.cpp"), file, line);
5051

5152
// Check class constructors..
52-
CheckClass checkClass(&tokenizer, &settings, this);
53+
CheckClass checkClass(&tokenizer, &settings1, this);
5354
checkClass.constructors();
5455
}
5556

@@ -68,9 +69,6 @@ class TestConstructors : public TestFixture {
6869
}
6970

7071
void run() override {
71-
settings.severity.enable(Severity::style);
72-
settings.severity.enable(Severity::warning);
73-
7472
TEST_CASE(simple1);
7573
TEST_CASE(simple2);
7674
TEST_CASE(simple3);
@@ -1994,11 +1992,7 @@ class TestConstructors : public TestFixture {
19941992
"{ }", true);
19951993
ASSERT_EQUALS("[test.cpp:13]: (warning, inconclusive) Member variable 'Fred::ints' is not assigned a value in 'Fred::operator='.\n", errout.str());
19961994

1997-
Settings s;
1998-
s.certainty.setEnabled(Certainty::inconclusive, true);
1999-
s.severity.enable(Severity::style);
2000-
s.severity.enable(Severity::warning);
2001-
LOAD_LIB_2(s.library, "std.cfg");
1995+
const Settings s = settingsBuilder().severity(Severity::style).severity(Severity::warning).certainty(Certainty::inconclusive).library("std.cfg").build();
20021996
check("struct S {\n"
20031997
" S& operator=(const S& s) { return *this; }\n"
20041998
" std::mutex m;\n"

test/testincompletestatement.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,14 @@ class TestIncompleteStatement : public TestFixture {
3535
TestIncompleteStatement() : TestFixture("TestIncompleteStatement") {}
3636

3737
private:
38-
Settings settings;
38+
const Settings settings = settingsBuilder().severity(Severity::warning).build();
3939

4040
void check(const char code[], bool inconclusive = false) {
4141
// Clear the error buffer..
4242
errout.str("");
4343

44-
settings.certainty.setEnabled(Certainty::inconclusive, inconclusive);
44+
Settings settings1 = settings;
45+
settings1.certainty.setEnabled(Certainty::inconclusive, inconclusive);
4546

4647
// Raw tokens..
4748
std::vector<std::string> files(1, "test.cpp");
@@ -54,18 +55,16 @@ class TestIncompleteStatement : public TestFixture {
5455
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
5556

5657
// Tokenize..
57-
Tokenizer tokenizer(&settings, this);
58+
Tokenizer tokenizer(&settings1, this);
5859
tokenizer.createTokens(std::move(tokens2));
5960
tokenizer.simplifyTokens1("");
6061

6162
// Check for incomplete statements..
62-
CheckOther checkOther(&tokenizer, &settings, this);
63+
CheckOther checkOther(&tokenizer, &settings1, this);
6364
checkOther.checkIncompleteStatement();
6465
}
6566

6667
void run() override {
67-
settings.severity.enable(Severity::warning);
68-
6968
TEST_CASE(test1);
7069
TEST_CASE(test2);
7170
TEST_CASE(test3);

0 commit comments

Comments
 (0)