Skip to content

Commit 6cf3981

Browse files
committed
added missing XML and library loading asserts in tests / cleanups
1 parent a0cc35e commit 6cf3981

10 files changed

Lines changed: 48 additions & 81 deletions

test/testbufferoverrun.cpp

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3528,9 +3528,7 @@ class TestBufferOverrun : public TestFixture {
35283528
" <arg nr=\"2\"/>\n"
35293529
" </function>\n"
35303530
"</def>";
3531-
tinyxml2::XMLDocument doc;
3532-
doc.Parse(xmldata, sizeof(xmldata));
3533-
settings.library.load(doc);
3531+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
35343532

35353533
// Attempt to get size from Cfg files, no false positives if size is not specified
35363534
check("void f() {\n"
@@ -4083,9 +4081,7 @@ class TestBufferOverrun : public TestFixture {
40834081
" <arg nr=\"3\"/>\n"
40844082
" </function>\n"
40854083
"</def>";
4086-
tinyxml2::XMLDocument doc;
4087-
doc.Parse(xmldata, sizeof(xmldata));
4088-
settings.library.load(doc);
4084+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
40894085
settings.severity.enable(Severity::warning);
40904086
settings.sizeof_wchar_t = 4;
40914087

@@ -4225,9 +4221,7 @@ class TestBufferOverrun : public TestFixture {
42254221
" <arg nr=\"3\"/>\n"
42264222
" </function>\n"
42274223
"</def>";
4228-
tinyxml2::XMLDocument doc;
4229-
doc.Parse(xmldata, sizeof(xmldata));
4230-
settings.library.load(doc);
4224+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
42314225

42324226
check("void f() {\n"
42334227
" char c[7];\n"
@@ -4289,9 +4283,7 @@ class TestBufferOverrun : public TestFixture {
42894283
" </arg>\n"
42904284
" </function>\n"
42914285
"</def>";
4292-
tinyxml2::XMLDocument doc;
4293-
doc.Parse(xmldata, sizeof(xmldata));
4294-
settings.library.load(doc);
4286+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
42954287

42964288
// formatstr..
42974289
check("void f() {\n"
@@ -4403,9 +4395,7 @@ class TestBufferOverrun : public TestFixture {
44034395
" <arg nr=\"4\"/>\n"
44044396
" </function>\n"
44054397
"</def>";
4406-
tinyxml2::XMLDocument doc;
4407-
doc.Parse(xmldata, sizeof(xmldata));
4408-
settings.library.load(doc);
4398+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
44094399

44104400
check("void f() {\n"
44114401
" char c[5];\n"

test/testclass.cpp

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,8 @@ class TestClass : public TestFixture {
6060
" </access>\n"
6161
" </container>\n"
6262
"</def>";
63-
tinyxml2::XMLDocument doc;
64-
doc.Parse(xmldata, sizeof(xmldata));
65-
settings0.library.load(doc);
66-
settings1.library.load(doc);
63+
ASSERT(settings0.library.loadxmldata(xmldata, sizeof(xmldata)));
64+
ASSERT(settings1.library.loadxmldata(xmldata, sizeof(xmldata)));
6765
}
6866

6967

@@ -3390,9 +3388,7 @@ class TestClass : public TestFixture {
33903388
" <podtype name=\"std::uint8_t\" sign=\"u\" size=\"1\"/>\n"
33913389
" <podtype name=\"std::atomic_bool\"/>\n"
33923390
"</def>";
3393-
tinyxml2::XMLDocument doc;
3394-
doc.Parse(xmldata, sizeof(xmldata));
3395-
settings.library.load(doc);
3391+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
33963392

33973393
checkNoMemset("class A {\n"
33983394
" std::array<int, 10> ints;\n"

test/testcondition.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,9 @@ class TestCondition : public TestFixture {
5858
"<def>\n"
5959
" <function name=\"bar\"> <pure/> </function>\n"
6060
"</def>";
61-
tinyxml2::XMLDocument xmldoc;
62-
xmldoc.Parse(cfg, sizeof(cfg));
61+
ASSERT(settings1.library.loadxmldata(cfg, sizeof(cfg)));
6362
settings1.severity.enable(Severity::style);
6463
settings1.severity.enable(Severity::warning);
65-
settings1.library.load(xmldoc);
6664

6765
TEST_CASE(assignAndCompare); // assignment and comparison don't match
6866
TEST_CASE(mismatchingBitAnd); // overlapping bitmasks

test/testerrorlogger.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ class TestErrorLogger : public TestFixture {
249249
" <location file=\"foo.cpp\" line=\"5\" column=\"2\"/>\n"
250250
"</error>";
251251
tinyxml2::XMLDocument doc;
252-
doc.Parse(xmldata, sizeof(xmldata));
252+
ASSERT(doc.Parse(xmldata, sizeof(xmldata)) == tinyxml2::XML_SUCCESS);
253253
ErrorMessage msg(doc.FirstChildElement());
254254
ASSERT_EQUALS("errorId", msg.id);
255255
ASSERT_EQUALS(Severity::error, msg.severity);

test/testfunctions.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1313,9 +1313,7 @@ class TestFunctions : public TestFixture {
13131313
" <arg nr=\"2\"/>\n"
13141314
" </function>\n"
13151315
"</def>";
1316-
tinyxml2::XMLDocument doc;
1317-
doc.Parse(xmldata, sizeof(xmldata));
1318-
settings2.library.load(doc);
1316+
ASSERT(settings2.library.loadxmldata(xmldata, sizeof(xmldata)));
13191317

13201318
check("void foo() {\n"
13211319
" mystrcmp(a, b);\n"
@@ -1468,9 +1466,7 @@ class TestFunctions : public TestFixture {
14681466
" <arg nr=\"2\"/>\n"
14691467
" </function>\n"
14701468
"</def>";
1471-
tinyxml2::XMLDocument doc;
1472-
doc.Parse(xmldata, sizeof(xmldata));
1473-
settings2.library.load(doc);
1469+
ASSERT(settings2.library.loadxmldata(xmldata, sizeof(xmldata)));
14741470

14751471
check("void foo() {\n"
14761472
" mystrcmp(a, b);\n"

test/testleakautovar.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ class TestLeakAutoVar : public TestFixture {
6565
"<def>\n"
6666
" <podtype name=\"uint8_t\" sign=\"u\" size=\"1\"/>\n"
6767
"</def>";
68-
tinyxml2::XMLDocument doc;
69-
doc.Parse(xmldata, sizeof(xmldata));
70-
settings.library.load(doc);
68+
ASSERT(settings.library.loadxmldata(xmldata, sizeof(xmldata)));
7169

7270
// Assign
7371
TEST_CASE(assign1);
@@ -2594,9 +2592,7 @@ class TestLeakAutoVar : public TestFixture {
25942592
" </arg>\n"
25952593
" </function>\n"
25962594
"</def>";
2597-
tinyxml2::XMLDocument doc;
2598-
doc.Parse(xmldata, sizeof(xmldata));
2599-
settingsFunctionCall.library.load(doc);
2595+
ASSERT(settingsFunctionCall.library.loadxmldata(xmldata, sizeof(xmldata)));
26002596
check("void test_func()\n"
26012597
"{\n"
26022598
" char * buf = malloc(4);\n"
@@ -2616,9 +2612,7 @@ class TestLeakAutoVar : public TestFixture {
26162612
" <arg nr=\"1\" direction=\"in\"/>\n"
26172613
" </function>\n"
26182614
"</def>\n";
2619-
tinyxml2::XMLDocument doc;
2620-
doc.Parse(xmldata, sizeof(xmldata));
2621-
settingsLeakIgnore.library.load(doc);
2615+
ASSERT(settingsLeakIgnore.library.loadxmldata(xmldata, sizeof(xmldata)));
26222616
check("void f() {\n"
26232617
" double* a = new double[1024];\n"
26242618
" SomeClass::someMethod(a);\n"

test/testlibrary.cpp

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,6 @@ class TestLibrary : public TestFixture {
7171
TEST_CASE(loadLibErrors);
7272
}
7373

74-
static Library::Error readLibrary(Library& library, const char* xmldata) {
75-
tinyxml2::XMLDocument doc;
76-
doc.Parse(xmldata);
77-
return library.load(doc);
78-
}
79-
8074
void isCompliantValidationExpression() const {
8175
ASSERT_EQUALS(true, Library::isCompliantValidationExpression("-1"));
8276
ASSERT_EQUALS(true, Library::isCompliantValidationExpression("1"));
@@ -103,7 +97,7 @@ class TestLibrary : public TestFixture {
10397
// Reading an empty library file is considered to be OK
10498
const char xmldata[] = "<?xml version=\"1.0\"?>\n<def/>";
10599
Library library;
106-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
100+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
107101
ASSERT(library.functions.empty());
108102
}
109103

@@ -121,7 +115,7 @@ class TestLibrary : public TestFixture {
121115
tokenList.front()->next()->astOperand1(tokenList.front());
122116

123117
Library library;
124-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
118+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
125119
ASSERT_EQUALS(library.functions.size(), 1U);
126120
ASSERT(library.functions.at("foo").argumentChecks.empty());
127121
ASSERT(library.isnotnoreturn(tokenList.front()));
@@ -136,7 +130,7 @@ class TestLibrary : public TestFixture {
136130
"</def>";
137131

138132
Library library;
139-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
133+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
140134
{
141135
TokenList tokenList(nullptr);
142136
std::istringstream istr("fred.foo(123);"); // <- wrong scope, not library function
@@ -168,7 +162,7 @@ class TestLibrary : public TestFixture {
168162
tokenList.createAst();
169163

170164
Library library;
171-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
165+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
172166
ASSERT(library.isNotLibraryFunction(tokenList.front()));
173167
}
174168

@@ -182,7 +176,7 @@ class TestLibrary : public TestFixture {
182176
"</def>";
183177

184178
Library library;
185-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
179+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
186180

187181
{
188182
TokenList tokenList(nullptr);
@@ -237,7 +231,7 @@ class TestLibrary : public TestFixture {
237231
tokenList.front()->next()->varId(1);
238232

239233
Library library;
240-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
234+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
241235
ASSERT(library.isNotLibraryFunction(tokenList.front()->next()));
242236
}
243237

@@ -254,7 +248,7 @@ class TestLibrary : public TestFixture {
254248
"</def>";
255249

256250
Library library;
257-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
251+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
258252
ASSERT_EQUALS(0, library.functions["foo"].argumentChecks[1].notuninit);
259253
ASSERT_EQUALS(true, library.functions["foo"].argumentChecks[2].notnull);
260254
ASSERT_EQUALS(true, library.functions["foo"].argumentChecks[3].formatstr);
@@ -273,7 +267,7 @@ class TestLibrary : public TestFixture {
273267
"</def>";
274268

275269
Library library;
276-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
270+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
277271
ASSERT_EQUALS(0, library.functions["foo"].argumentChecks[-1].notuninit);
278272
}
279273

@@ -287,7 +281,7 @@ class TestLibrary : public TestFixture {
287281
"</def>";
288282

289283
Library library;
290-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
284+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
291285
ASSERT_EQUALS(0, library.functions["foo"].argumentChecks[-1].notuninit);
292286

293287
TokenList tokenList(nullptr);
@@ -313,7 +307,7 @@ class TestLibrary : public TestFixture {
313307
"</def>";
314308

315309
Library library;
316-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
310+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
317311

318312
TokenList tokenList(nullptr);
319313
std::istringstream istr("foo(a,b,c,d);");
@@ -345,7 +339,7 @@ class TestLibrary : public TestFixture {
345339
"</def>";
346340

347341
Library library;
348-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
342+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
349343

350344
TokenList tokenList(nullptr);
351345
std::istringstream istr("foo(a,b,c,d,e,f,g,h,i,j,k);");
@@ -487,7 +481,7 @@ class TestLibrary : public TestFixture {
487481
"</def>";
488482

489483
Library library;
490-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
484+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
491485

492486
TokenList tokenList(nullptr);
493487
std::istringstream istr("foo(a,b,c,d,e);");
@@ -546,7 +540,7 @@ class TestLibrary : public TestFixture {
546540
"</def>";
547541

548542
Library library;
549-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
543+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
550544
ASSERT_EQUALS(library.functions.size(), 2U);
551545
ASSERT(library.functions.at("Foo::foo").argumentChecks.empty());
552546
ASSERT(library.functions.at("bar").argumentChecks.empty());
@@ -575,7 +569,7 @@ class TestLibrary : public TestFixture {
575569
"</def>";
576570

577571
Library library;
578-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
572+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
579573
ASSERT_EQUALS(library.functions.size(), 1U);
580574

581575
{
@@ -602,7 +596,7 @@ class TestLibrary : public TestFixture {
602596
"</def>";
603597

604598
Library library;
605-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
599+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
606600

607601
{
608602
Tokenizer tokenizer(&settings, nullptr);
@@ -631,7 +625,7 @@ class TestLibrary : public TestFixture {
631625
"</def>";
632626

633627
Library library;
634-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
628+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
635629

636630
TokenList tokenList(nullptr);
637631
std::istringstream istr("a(); b();");
@@ -665,7 +659,7 @@ class TestLibrary : public TestFixture {
665659
"</def>";
666660

667661
Library library;
668-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
662+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
669663
ASSERT(library.functions.empty());
670664

671665
ASSERT(Library::ismemory(library.getAllocFuncInfo("CreateX")));
@@ -708,7 +702,7 @@ class TestLibrary : public TestFixture {
708702
"</def>";
709703

710704
Library library;
711-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
705+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
712706
ASSERT(library.functions.empty());
713707

714708
const Library::AllocFunc* af = library.getAllocFuncInfo("CreateX");
@@ -727,7 +721,7 @@ class TestLibrary : public TestFixture {
727721
"</def>";
728722

729723
Library library;
730-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
724+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
731725
ASSERT(library.functions.empty());
732726

733727
ASSERT(Library::isresource(library.allocId("CreateX")));
@@ -744,7 +738,7 @@ class TestLibrary : public TestFixture {
744738
" <podtype name=\"s16\" sign=\"s\" size=\"2\"/>\n"
745739
"</def>";
746740
Library library;
747-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
741+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
748742
// s8
749743
{
750744
const struct Library::PodType * const type = library.podtype("s8");
@@ -822,7 +816,7 @@ class TestLibrary : public TestFixture {
822816
"</def>";
823817

824818
Library library;
825-
ASSERT_EQUALS(true, Library::ErrorCode::OK == (readLibrary(library, xmldata)).errorcode);
819+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
826820

827821
Library::Container& A = library.containers["A"];
828822
Library::Container& B = library.containers["B"];
@@ -937,16 +931,14 @@ class TestLibrary : public TestFixture {
937931
"<def>\n"
938932
"</def>";
939933
Library library;
940-
const Library::Error err = readLibrary(library, xmldata);
941-
ASSERT_EQUALS(true, err.errorcode == Library::ErrorCode::OK);
934+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
942935
}
943936
{
944937
const char xmldata[] = "<?xml version=\"1.0\"?>\n"
945938
"<def format=\"1\">\n"
946939
"</def>";
947940
Library library;
948-
const Library::Error err = readLibrary(library, xmldata);
949-
ASSERT_EQUALS(true, err.errorcode == Library::ErrorCode::OK);
941+
ASSERT(library.loadxmldata(xmldata, sizeof(xmldata)));
950942
}
951943
{
952944
const char xmldata[] = "<?xml version=\"1.0\"?>\n"
@@ -958,6 +950,12 @@ class TestLibrary : public TestFixture {
958950
}
959951
}
960952

953+
static Library::Error readLibrary(Library& library, const char* xmldata) {
954+
tinyxml2::XMLDocument doc;
955+
doc.Parse(xmldata); // TODO: check result
956+
return library.load(doc);
957+
}
958+
961959
void loadLibError(const char xmldata[], Library::ErrorCode errorcode, const char* file, unsigned line) const {
962960
Library library;
963961
assertEquals(file, line, true, errorcode == readLibrary(library, xmldata).errorcode);

0 commit comments

Comments
 (0)