Skip to content

Commit 9eb03a5

Browse files
committed
first round of SettingsBuilder usage in tests
1 parent 751f458 commit 9eb03a5

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
@@ -31,7 +31,7 @@ class TestAssert : public TestFixture {
3131
TestAssert() : TestFixture("TestAssert") {}
3232

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

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

5050
void run() override {
51-
settings.severity.enable(Severity::warning);
52-
5351
TEST_CASE(assignmentInAssert);
5452
TEST_CASE(functionCallInAssert);
5553
TEST_CASE(memberFunctionCallInAssert);

test/testautovariables.cpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,24 @@ 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+
const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, inconclusive).build();
4141

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

47-
runChecks<CheckAutoVariables>(&tokenizer, &settings, this);
47+
runChecks<CheckAutoVariables>(&tokenizer, &settings1, this);
4848
}
4949

5050
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-
settings.libraries.emplace_back("qt");
56-
5751
TEST_CASE(testautovar1);
5852
TEST_CASE(testautovar2);
5953
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/testbufferoverrun.cpp

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,22 @@ class TestBufferOverrun : public TestFixture {
4444
TestBufferOverrun() : TestFixture("TestBufferOverrun") {}
4545

4646
private:
47-
Settings settings0;
47+
Settings settings0 = settingsBuilder().library("std.cfg").severity(Severity::warning).severity(Severity::style).severity(Severity::portability).build();
4848

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

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

5656
// Tokenize..
57-
Tokenizer tokenizer(&settings0, this);
57+
Tokenizer tokenizer(&settings, this);
5858
std::istringstream istr(code);
5959
ASSERT_LOC(tokenizer.tokenize(istr, filename), file, line);
6060

6161
// Check for buffer overruns..
62-
runChecks<CheckBufferOverrun>(&tokenizer, &settings0, this);
62+
runChecks<CheckBufferOverrun>(&tokenizer, &settings, this);
6363
}
6464

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

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

9292
// Raw tokens..
9393
std::vector<std::string> files(1, filename);
@@ -99,26 +99,20 @@ class TestBufferOverrun : public TestFixture {
9999
std::map<std::string, simplecpp::TokenList*> filedata;
100100
simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI());
101101

102-
Preprocessor preprocessor(*settings, nullptr);
102+
Preprocessor preprocessor(settings, nullptr);
103103
preprocessor.setDirectives(tokens1);
104104

105105
// Tokenizer..
106-
Tokenizer tokenizer(settings, this);
106+
Tokenizer tokenizer(&settings, this);
107107
tokenizer.createTokens(std::move(tokens2));
108108
tokenizer.simplifyTokens1("");
109109
tokenizer.setPreprocessor(&preprocessor);
110110

111111
// Check for buffer overruns..
112-
runChecks<CheckBufferOverrun>(&tokenizer, settings, this);
112+
runChecks<CheckBufferOverrun>(&tokenizer, &settings, this);
113113
}
114114

115115
void run() override {
116-
LOAD_LIB_2(settings0.library, "std.cfg");
117-
118-
settings0.severity.enable(Severity::warning);
119-
settings0.severity.enable(Severity::style);
120-
settings0.severity.enable(Severity::portability);
121-
122116
TEST_CASE(noerr1);
123117
TEST_CASE(noerr2);
124118
TEST_CASE(noerr3);
@@ -5493,9 +5487,7 @@ class TestBufferOverrun : public TestFixture {
54935487

54945488
void checkPipeParameterSize() { // #3521
54955489

5496-
Settings settings;
5497-
LOAD_LIB_2(settings.library, "posix.cfg");
5498-
settings.libraries.emplace_back("posix");
5490+
const Settings settings = settingsBuilder().library("posix.cfg").build();
54995491

55005492
check("void f(){\n"
55015493
"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, 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: 12 additions & 23 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"
@@ -257,8 +254,7 @@ class TestClass : public TestFixture {
257254
void checkCopyCtorAndEqOperator_(const char code[], const char* file, int line) {
258255
// Clear the error log
259256
errout.str("");
260-
Settings settings;
261-
settings.severity.enable(Severity::warning);
257+
const Settings settings = settingsBuilder().severity(Severity::warning).build();
262258

263259
// Tokenize..
264260
Tokenizer tokenizer(&settings, this);
@@ -2871,9 +2867,7 @@ class TestClass : public TestFixture {
28712867

28722868
#define checkNoMemset(...) checkNoMemset_(__FILE__, __LINE__, __VA_ARGS__)
28732869
void checkNoMemset_(const char* file, int line, const char code[]) {
2874-
Settings settings;
2875-
settings.severity.enable(Severity::warning);
2876-
settings.severity.enable(Severity::portability);
2870+
const Settings settings = settingsBuilder().severity(Severity::warning).severity(Severity::portability).build();
28772871
checkNoMemset_(file, line, code, settings);
28782872
}
28792873

@@ -3135,8 +3129,7 @@ class TestClass : public TestFixture {
31353129
errout.str());
31363130

31373131
// #1655
3138-
Settings s;
3139-
LOAD_LIB_2(s.library, "std.cfg");
3132+
const Settings s = settingsBuilder().library("std.cfg").build();
31403133
checkNoMemset("void f() {\n"
31413134
" char c[] = \"abc\";\n"
31423135
" std::string s;\n"
@@ -7037,10 +7030,7 @@ class TestClass : public TestFixture {
70377030
}
70387031

70397032
void qualifiedNameMember() { // #10872
7040-
Settings s;
7041-
s.severity.enable(Severity::style);
7042-
s.debugwarnings = true;
7043-
LOAD_LIB_2(s.library, "std.cfg");
7033+
Settings s = settingsBuilder().severity(Severity::style).debugwarnings().library("std.cfg").build();
70447034
checkConst("struct data {};\n"
70457035
" struct S {\n"
70467036
" std::vector<data> std;\n"
@@ -7093,8 +7083,7 @@ class TestClass : public TestFixture {
70937083
errout.str("");
70947084

70957085
// Check..
7096-
Settings settings;
7097-
settings.severity.enable(Severity::performance);
7086+
const Settings settings = settingsBuilder().severity(Severity::performance).build();
70987087

70997088
// Tokenize..
71007089
Tokenizer tokenizer(&settings, this);
@@ -7771,8 +7760,8 @@ class TestClass : public TestFixture {
77717760
void checkOverride_(const char code[], const char* file, int line) {
77727761
// Clear the error log
77737762
errout.str("");
7774-
Settings settings;
7775-
settings.severity.enable(Severity::style);
7763+
7764+
const Settings settings = settingsBuilder().severity(Severity::style).build();
77767765

77777766
// Tokenize..
77787767
Tokenizer tokenizer(&settings, this);
@@ -7946,9 +7935,9 @@ class TestClass : public TestFixture {
79467935
void checkUnsafeClassRefMember_(const char code[], const char* file, int line) {
79477936
// Clear the error log
79487937
errout.str("");
7949-
Settings settings;
7938+
7939+
Settings settings = settingsBuilder().severity(Severity::warning).build();
79507940
settings.safeChecks.classes = true;
7951-
settings.severity.enable(Severity::warning);
79527941

79537942
// Tokenize..
79547943
Tokenizer tokenizer(&settings, this);
@@ -8123,7 +8112,7 @@ class TestClass : public TestFixture {
81238112

81248113

81258114
void ctu(const std::vector<std::string> &code) {
8126-
Settings settings;
8115+
const Settings settings;
81278116
auto &check = getCheck<CheckClass>();
81288117

81298118
// getFileInfo

test/testcondition.cpp

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

4242
private:
43-
Settings settings0;
44-
Settings settings1;
43+
Settings settings0 = settingsBuilder().library("qt.cfg").library("std.cfg").severity(Severity::style).severity(Severity::warning).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-
settings0.libraries.emplace_back("qt");
53-
LOAD_LIB_2(settings0.library, "std.cfg");
54-
55-
settings0.severity.enable(Severity::style);
56-
settings0.severity.enable(Severity::warning);
57-
5851
const char cfg[] = "<?xml version=\"1.0\"?>\n"
5952
"<def>\n"
6053
" <function name=\"bar\"> <pure/> </function>\n"
6154
"</def>";
6255
ASSERT(settings1.library.loadxmldata(cfg, sizeof(cfg)));
63-
settings1.severity.enable(Severity::style);
64-
settings1.severity.enable(Severity::warning);
6556

6657
TEST_CASE(assignAndCompare); // assignment and comparison don't match
6758
TEST_CASE(mismatchingBitAnd); // overlapping bitmasks
@@ -5603,8 +5594,7 @@ class TestCondition : public TestFixture {
56035594
}
56045595

56055596
void compareOutOfTypeRange() {
5606-
Settings settingsUnix64;
5607-
settingsUnix64.severity.enable(Severity::style);
5597+
Settings settingsUnix64 = settingsBuilder().severity(Severity::style).build();
56085598
PLATFORM(settingsUnix64, cppcheck::Platform::PlatformType::Unix64);
56095599

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

0 commit comments

Comments
 (0)