Skip to content

Commit b436473

Browse files
committed
first round of SettingsBuilder usage in tests
1 parent a2ed735 commit b436473

37 files changed

Lines changed: 167 additions & 377 deletions

test/test64bit.cpp

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

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

3535
void run() override {
36-
settings.severity.enable(Severity::portability);
37-
3836
TEST_CASE(novardecl);
3937
TEST_CASE(functionpar);
4038
TEST_CASE(structmember);
@@ -51,7 +49,6 @@ class Test64BitPortability : public TestFixture {
5149

5250
// Tokenize..
5351
Tokenizer tokenizer(&settings, this);
54-
LOAD_LIB_2(settings.library, "std.cfg");
5552
std::istringstream istr(code);
5653
ASSERT_LOC(tokenizer.tokenize(istr, "test.cpp"), file, line);
5754

test/testassert.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class TestAssert : public TestFixture {
3232
TestAssert() : TestFixture("TestAssert") {}
3333

3434
private:
35-
Settings settings;
35+
const Settings settings = settingsBuilder().severity(Severity::warning).build();
3636

3737
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
3838
void check_(const char* file, int line, const char code[], const char *filename = "test.cpp") {
@@ -49,8 +49,6 @@ class TestAssert : public TestFixture {
4949
}
5050

5151
void run() override {
52-
settings.severity.enable(Severity::warning);
53-
5452
TEST_CASE(assignmentInAssert);
5553
TEST_CASE(functionCallInAssert);
5654
TEST_CASE(memberFunctionCallInAssert);

test/testautovariables.cpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,30 +32,24 @@ class TestAutoVariables : public TestFixture {
3232
TestAutoVariables() : TestFixture("TestAutoVariables") {}
3333

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

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

42-
settings.certainty.setEnabled(Certainty::inconclusive, inconclusive);
42+
const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, inconclusive).build();
4343

4444
// Tokenize..
45-
Tokenizer tokenizer(&settings, this);
45+
Tokenizer tokenizer(&settings1, this);
4646
std::istringstream istr(code);
4747
ASSERT_LOC(tokenizer.tokenize(istr, filename), file, line);
4848

49-
runChecks<CheckAutoVariables>(&tokenizer, &settings, this);
49+
runChecks<CheckAutoVariables>(&tokenizer, &settings1, this);
5050
}
5151

5252
void run() override {
53-
settings.severity.enable(Severity::warning);
54-
settings.severity.enable(Severity::style);
55-
LOAD_LIB_2(settings.library, "std.cfg");
56-
LOAD_LIB_2(settings.library, "qt.cfg");
57-
settings.libraries.emplace_back("qt");
58-
5953
TEST_CASE(testautovar1);
6054
TEST_CASE(testautovar2);
6155
TEST_CASE(testautovar3); // ticket #2925

test/testbool.cpp

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

3333
private:
34-
Settings settings;
34+
const Settings settings = settingsBuilder().severity(Severity::style).severity(Severity::warning).certainty(Certainty::inconclusive).build();
3535

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

test/testboost.cpp

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

3333
private:
34-
Settings settings;
34+
const Settings settings = settingsBuilder().severity(Severity::style).severity(Severity::performance).build();
3535

3636
void run() override {
37-
settings.severity.enable(Severity::style);
38-
settings.severity.enable(Severity::performance);
39-
4037
TEST_CASE(BoostForeachContainerModification);
4138
}
4239

test/testbufferoverrun.cpp

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,22 @@ class TestBufferOverrun : public TestFixture {
4141
TestBufferOverrun() : TestFixture("TestBufferOverrun") {}
4242

4343
private:
44-
Settings settings0;
44+
Settings settings0 = settingsBuilder().library("std.cfg").severity(Severity::warning).severity(Severity::style).severity(Severity::portability).build();
4545

4646
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
4747
void check_(const char* file, int line, const char code[], const char filename[] = "test.cpp") {
4848
// Clear the error buffer..
4949
errout.str("");
5050

51-
settings0.certainty.enable(Certainty::inconclusive);
51+
const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive).build();
5252

5353
// Tokenize..
54-
Tokenizer tokenizer(&settings0, this);
54+
Tokenizer tokenizer(&settings, this);
5555
std::istringstream istr(code);
5656
ASSERT_LOC(tokenizer.tokenize(istr, filename), file, line);
5757

5858
// Check for buffer overruns..
59-
runChecks<CheckBufferOverrun>(&tokenizer, &settings0, this);
59+
runChecks<CheckBufferOverrun>(&tokenizer, &settings, this);
6060
}
6161

6262
void check_(const char* file, int line, const char code[], const Settings &settings, const char filename[] = "test.cpp") {
@@ -76,15 +76,15 @@ class TestBufferOverrun : public TestFixture {
7676
// Clear the error buffer..
7777
errout.str("");
7878

79-
Settings* settings = &settings0;
80-
settings->severity.enable(Severity::style);
81-
settings->severity.enable(Severity::warning);
82-
settings->severity.enable(Severity::portability);
83-
settings->severity.enable(Severity::performance);
84-
settings->standards.c = Standards::CLatest;
85-
settings->standards.cpp = Standards::CPPLatest;
86-
settings->certainty.enable(Certainty::inconclusive);
87-
settings->certainty.disable(Certainty::experimental);
79+
Settings settings = settings0;
80+
settings.severity.enable(Severity::style);
81+
settings.severity.enable(Severity::warning);
82+
settings.severity.enable(Severity::portability);
83+
settings.severity.enable(Severity::performance);
84+
settings.standards.c = Standards::CLatest;
85+
settings.standards.cpp = Standards::CPPLatest;
86+
settings.certainty.enable(Certainty::inconclusive);
87+
settings.certainty.disable(Certainty::experimental);
8888

8989
// Raw tokens..
9090
std::vector<std::string> files(1, filename);
@@ -97,21 +97,15 @@ class TestBufferOverrun : public TestFixture {
9797
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
9898

9999
// Tokenizer..
100-
Tokenizer tokenizer(settings, this);
100+
Tokenizer tokenizer(&settings, this);
101101
tokenizer.createTokens(std::move(tokens2));
102102
tokenizer.simplifyTokens1("");
103103

104104
// Check for buffer overruns..
105-
runChecks<CheckBufferOverrun>(&tokenizer, settings, this);
105+
runChecks<CheckBufferOverrun>(&tokenizer, &settings, this);
106106
}
107107

108108
void run() override {
109-
LOAD_LIB_2(settings0.library, "std.cfg");
110-
111-
settings0.severity.enable(Severity::warning);
112-
settings0.severity.enable(Severity::style);
113-
settings0.severity.enable(Severity::portability);
114-
115109
TEST_CASE(noerr1);
116110
TEST_CASE(noerr2);
117111
TEST_CASE(noerr3);
@@ -5486,9 +5480,7 @@ class TestBufferOverrun : public TestFixture {
54865480

54875481
void checkPipeParameterSize() { // #3521
54885482

5489-
Settings settings;
5490-
LOAD_LIB_2(settings.library, "posix.cfg");
5491-
settings.libraries.emplace_back("posix");
5483+
const Settings settings = settingsBuilder().library("posix.cfg").build();
54925484

54935485
check("void f(){\n"
54945486
"int pipefd[1];\n" // <-- array of two integers is needed

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.platform, cppcheck::Platform::Type::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
@@ -137,8 +137,7 @@ class TestClangImport : public TestFixture {
137137
}
138138

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

10501049

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

test/testclass.cpp

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

3838
private:
39-
Settings settings0;
40-
Settings settings1;
39+
Settings settings0 = settingsBuilder().severity(Severity::style).build();
40+
Settings settings1 = settingsBuilder().severity(Severity::warning).build();
4141

4242
void run() override {
43-
settings0.severity.enable(Severity::style);
44-
settings1.severity.enable(Severity::warning);
45-
4643
// Load std.cfg configuration
4744
{
4845
const char xmldata[] = "<?xml version=\"1.0\"?>\n"
@@ -256,8 +253,7 @@ class TestClass : public TestFixture {
256253
void checkCopyCtorAndEqOperator_(const char code[], const char* file, int line) {
257254
// Clear the error log
258255
errout.str("");
259-
Settings settings;
260-
settings.severity.enable(Severity::warning);
256+
const Settings settings = settingsBuilder().severity(Severity::warning).build();
261257

262258
Preprocessor preprocessor(settings, nullptr);
263259

@@ -2884,9 +2880,7 @@ class TestClass : public TestFixture {
28842880

28852881
#define checkNoMemset(...) checkNoMemset_(__FILE__, __LINE__, __VA_ARGS__)
28862882
void checkNoMemset_(const char* file, int line, const char code[]) {
2887-
Settings settings;
2888-
settings.severity.enable(Severity::warning);
2889-
settings.severity.enable(Severity::portability);
2883+
const Settings settings = settingsBuilder().severity(Severity::warning).severity(Severity::portability).build();
28902884
checkNoMemset_(file, line, code, settings);
28912885
}
28922886

@@ -3150,8 +3144,7 @@ class TestClass : public TestFixture {
31503144
errout.str());
31513145

31523146
// #1655
3153-
Settings s;
3154-
LOAD_LIB_2(s.library, "std.cfg");
3147+
const Settings s = settingsBuilder().library("std.cfg").build();
31553148
checkNoMemset("void f() {\n"
31563149
" char c[] = \"abc\";\n"
31573150
" std::string s;\n"
@@ -7144,10 +7137,7 @@ class TestClass : public TestFixture {
71447137
}
71457138

71467139
void qualifiedNameMember() { // #10872
7147-
Settings s;
7148-
s.severity.enable(Severity::style);
7149-
s.debugwarnings = true;
7150-
LOAD_LIB_2(s.library, "std.cfg");
7140+
Settings s = settingsBuilder().severity(Severity::style).debugwarnings().library("std.cfg").build();
71517141
checkConst("struct data {};\n"
71527142
" struct S {\n"
71537143
" std::vector<data> std;\n"
@@ -7202,8 +7192,7 @@ class TestClass : public TestFixture {
72027192
errout.str("");
72037193

72047194
// Check..
7205-
Settings settings;
7206-
settings.severity.enable(Severity::performance);
7195+
const Settings settings = settingsBuilder().severity(Severity::performance).build();
72077196

72087197
Preprocessor preprocessor(settings, nullptr);
72097198

@@ -7883,8 +7872,8 @@ class TestClass : public TestFixture {
78837872
void checkOverride_(const char code[], const char* file, int line) {
78847873
// Clear the error log
78857874
errout.str("");
7886-
Settings settings;
7887-
settings.severity.enable(Severity::style);
7875+
7876+
const Settings settings = settingsBuilder().severity(Severity::style).build();
78887877

78897878
Preprocessor preprocessor(settings, nullptr);
78907879

@@ -8060,9 +8049,9 @@ class TestClass : public TestFixture {
80608049
void checkUnsafeClassRefMember_(const char code[], const char* file, int line) {
80618050
// Clear the error log
80628051
errout.str("");
8063-
Settings settings;
8052+
8053+
Settings settings = settingsBuilder().severity(Severity::warning).build();
80648054
settings.safeChecks.classes = true;
8065-
settings.severity.enable(Severity::warning);
80668055

80678056
Preprocessor preprocessor(settings, nullptr);
80688057

@@ -8241,7 +8230,7 @@ class TestClass : public TestFixture {
82418230

82428231

82438232
void ctu(const std::vector<std::string> &code) {
8244-
Settings settings;
8233+
const Settings settings;
82458234
auto &check = getCheck<CheckClass>();
82468235

82478236
// getFileInfo

test/testcondition.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,28 +39,19 @@ class TestCondition : public TestFixture {
3939
TestCondition() : TestFixture("TestCondition") {}
4040

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

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

50-
LOAD_LIB_2(settings0.library, "qt.cfg");
51-
settings0.libraries.emplace_back("qt");
52-
LOAD_LIB_2(settings0.library, "std.cfg");
53-
54-
settings0.severity.enable(Severity::style);
55-
settings0.severity.enable(Severity::warning);
56-
5750
const char cfg[] = "<?xml version=\"1.0\"?>\n"
5851
"<def>\n"
5952
" <function name=\"bar\"> <pure/> </function>\n"
6053
"</def>";
6154
ASSERT(settings1.library.loadxmldata(cfg, sizeof(cfg)));
62-
settings1.severity.enable(Severity::style);
63-
settings1.severity.enable(Severity::warning);
6455

6556
TEST_CASE(assignAndCompare); // assignment and comparison don't match
6657
TEST_CASE(mismatchingBitAnd); // overlapping bitmasks
@@ -5611,8 +5602,7 @@ class TestCondition : public TestFixture {
56115602
}
56125603

56135604
void compareOutOfTypeRange() {
5614-
Settings settingsUnix64;
5615-
settingsUnix64.severity.enable(Severity::style);
5605+
Settings settingsUnix64 = settingsBuilder().severity(Severity::style).build();
56165606
PLATFORM(settingsUnix64.platform, cppcheck::Platform::Type::Unix64);
56175607

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

0 commit comments

Comments
 (0)