Skip to content

Commit 9a2fc42

Browse files
committed
testrunner: some settings cleanups
1 parent 5f301d3 commit 9a2fc42

File tree

4 files changed

+17
-21
lines changed

4 files changed

+17
-21
lines changed

test/testbufferoverrun.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ class TestBufferOverrun : public TestFixture {
3636

3737
private:
3838
/*const*/ Settings settings0 = settingsBuilder().library("std.cfg").severity(Severity::warning).severity(Severity::style).severity(Severity::portability).build();
39+
const Settings settings0_i = settingsBuilder(settings0).certainty(Certainty::inconclusive).build();
40+
const Settings settings1 = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build();
3941

4042
struct CheckOptions
4143
{
@@ -46,7 +48,7 @@ class TestBufferOverrun : public TestFixture {
4648
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
4749
template<size_t size>
4850
void check_(const char* file, int line, const char (&code)[size], const CheckOptions& options = make_default_obj()) {
49-
const Settings settings = options.s ? *options.s : settingsBuilder(settings0).certainty(Certainty::inconclusive).build();
51+
const Settings& settings = options.s ? *options.s : settings0_i;
5052

5153
// Tokenize..
5254
SimpleTokenizer tokenizer(settings, *this, options.cpp);
@@ -58,10 +60,8 @@ class TestBufferOverrun : public TestFixture {
5860

5961
// TODO: get rid of this
6062
void check_(const char* file, int line, const std::string& code) {
61-
const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive).build();
62-
6363
// Tokenize..
64-
SimpleTokenizer tokenizer(settings, *this);
64+
SimpleTokenizer tokenizer(settings0_i, *this);
6565
ASSERT_LOC(tokenizer.tokenize(code), file, line);
6666

6767
// Check for buffer overruns..
@@ -72,9 +72,7 @@ class TestBufferOverrun : public TestFixture {
7272
template<size_t size>
7373
void checkP_(const char* file, int line, const char (&code)[size])
7474
{
75-
const Settings settings = settingsBuilder(settings0).severity(Severity::performance).certainty(Certainty::inconclusive).build();
76-
77-
SimpleTokenizer2 tokenizer(settings, *this, code, "test.cpp");
75+
SimpleTokenizer2 tokenizer(settings1, *this, code, "test.cpp");
7876

7977
// Tokenizer..
8078
ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line);
@@ -2722,7 +2720,7 @@ class TestBufferOverrun : public TestFixture {
27222720
" char str[6] = \"\\0\";\n"
27232721
" unsigned short port = 65535;\n"
27242722
" snprintf(str, sizeof(str), \"%hu\", port);\n"
2725-
"}", dinit(CheckOptions, $.s = &settings0, $.cpp = false));
2723+
"}", dinit(CheckOptions, $.cpp = false));
27262724
ASSERT_EQUALS("", errout_str());
27272725

27282726
check("int f(int x) {\n" // #11020

test/testclass.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7626,10 +7626,10 @@ class TestClass : public TestFixture {
76267626
" }\n"
76277627
"};";
76287628

7629-
checkConst(code, dinit(CheckConstOptions, $.s = &settings0, $.inconclusive = true));
7629+
checkConst(code);
76307630
ASSERT_EQUALS("[test.cpp:3:10]: (performance, inconclusive) Technically the member function 'foo::f' can be static (but you may consider moving to unnamed namespace). [functionStatic]\n", errout_str());
76317631

7632-
checkConst(code, dinit(CheckConstOptions, $.s = &settings0, $.inconclusive = false)); // TODO: Set inconclusive to true (preprocess it)
7632+
checkConst(code, dinit(CheckConstOptions, $.inconclusive = false)); // TODO: Set inconclusive to true (preprocess it)
76337633
ASSERT_EQUALS("", errout_str());
76347634
}
76357635

test/testleakautovar.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class TestLeakAutoVar : public TestFixture {
2929
TestLeakAutoVar() : TestFixture("TestLeakAutoVar") {}
3030

3131
private:
32-
const Settings settings = settingsBuilder().library("std.cfg").build();
32+
const Settings settings = settingsBuilder().library("std.cfg").checkLibrary().build();
3333

3434
void run() override {
3535
mNewTemplate = true;
@@ -223,7 +223,7 @@ class TestLeakAutoVar : public TestFixture {
223223
#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__)
224224
template<size_t size>
225225
void check_(const char* file, int line, const char (&code)[size], const CheckOptions& options = make_default_obj()) {
226-
const Settings settings1 = settingsBuilder(options.s ? *options.s : settings).checkLibrary().build();
226+
const Settings& settings1 = options.s ? *options.s : settings;
227227

228228
// Tokenize..
229229
SimpleTokenizer tokenizer(settings1, *this, options.cpp);
@@ -235,10 +235,8 @@ class TestLeakAutoVar : public TestFixture {
235235

236236
template<size_t size>
237237
void check_(const char* file, int line, const char (&code)[size], const Settings & s) {
238-
const Settings settings0 = settingsBuilder(s).checkLibrary().build();
239-
240238
// Tokenize..
241-
SimpleTokenizer tokenizer(settings0, *this);
239+
SimpleTokenizer tokenizer(s, *this);
242240
ASSERT_LOC(tokenizer.tokenize(code), file, line);
243241

244242
// Check for leaks..
@@ -454,7 +452,7 @@ class TestLeakAutoVar : public TestFixture {
454452
}
455453

456454
void assign22() { // #9139
457-
const Settings s = settingsBuilder().library("posix.cfg").build();
455+
const Settings s = settingsBuilder().library("posix.cfg").checkLibrary().build();
458456
check("void f(char tempFileName[256]) {\n"
459457
" const int fd = socket(AF_INET, SOCK_PACKET, 0 );\n"
460458
"}", dinit(CheckOptions, $.cpp = true, $.s = &s));
@@ -467,7 +465,7 @@ class TestLeakAutoVar : public TestFixture {
467465
}
468466

469467
void assign23() {
470-
const Settings s = settingsBuilder().library("posix.cfg").build();
468+
const Settings s = settingsBuilder().library("posix.cfg").checkLibrary().build();
471469
check("void f() {\n"
472470
" int n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14;\n"
473471
" *&n1 = open(\"xx.log\", O_RDONLY);\n"
@@ -2277,7 +2275,7 @@ class TestLeakAutoVar : public TestFixture {
22772275
}
22782276

22792277
void ifelse24() { // #1733
2280-
const Settings s = settingsBuilder().library("std.cfg").library("posix.cfg").build();
2278+
const Settings s = settingsBuilder().library("std.cfg").library("posix.cfg").checkLibrary().build();
22812279

22822280
check("void f() {\n"
22832281
" char* temp = strdup(\"temp.txt\");\n"
@@ -3190,7 +3188,7 @@ class TestLeakAutoVar : public TestFixture {
31903188
" <arg nr=\"1\" direction=\"in\"/>\n"
31913189
" </function>\n"
31923190
"</def>\n";
3193-
const Settings settingsLeakIgnore = settingsBuilder().libraryxml(xmldata).build();
3191+
const Settings settingsLeakIgnore = settingsBuilder().libraryxml(xmldata).checkLibrary().build();
31943192
check("void f() {\n"
31953193
" double* a = new double[1024];\n"
31963194
" SomeClass::someMethod(a);\n"

test/testvalueflow.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5641,7 +5641,7 @@ class TestValueFlow : public TestFixture {
56415641

56425642
// #13959
56435643
const Settings settingsOld = settings;
5644-
settings = settingsBuilder(settingsOld).c(Standards::C23).build();
5644+
settings.standards.c = Standards::C23;
56455645
code = "void f(int* p) {\n"
56465646
" if (p == nullptr)\n"
56475647
" return;\n"
@@ -5651,7 +5651,7 @@ class TestValueFlow : public TestFixture {
56515651
ASSERT_EQUALS(1, value.intvalue);
56525652
ASSERT_EQUALS(true, value.isKnown());
56535653

5654-
settings = settingsBuilder(settingsOld).c(Standards::C17).build();
5654+
settings.standards.c = Standards::C17;
56555655
value = valueOfTok(code, "p ) { }", &settings, /*cpp*/ false);
56565656
ASSERT(value == ValueFlow::Value());
56575657
settings = settingsOld;

0 commit comments

Comments
 (0)