Skip to content

Commit 330e634

Browse files
committed
Revert "TestTrac: Add separate file for black box / integration tests in testrunner"
This reverts commit e895fa4.
1 parent e895fa4 commit 330e634

6 files changed

Lines changed: 52 additions & 120 deletions

File tree

Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,6 @@ TESTOBJ = test/options.o \
272272
test/testtoken.o \
273273
test/testtokenize.o \
274274
test/testtokenlist.o \
275-
test/testtrac.o \
276275
test/testtype.o \
277276
test/testuninitvar.o \
278277
test/testunusedfunctions.o \
@@ -496,7 +495,7 @@ $(libcppdir)/ctu.o: lib/ctu.cpp externals/tinyxml/tinyxml2.h lib/astutils.h lib/
496495
$(libcppdir)/errorlogger.o: lib/errorlogger.cpp externals/tinyxml/tinyxml2.h lib/analyzerinfo.h lib/check.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h
497496
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o $(libcppdir)/errorlogger.o $(libcppdir)/errorlogger.cpp
498497

499-
$(libcppdir)/exprengine.o: lib/exprengine.cpp externals/z3_version.h lib/astutils.h lib/config.h lib/errorlogger.h lib/exprengine.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h
498+
$(libcppdir)/exprengine.o: lib/exprengine.cpp lib/astutils.h lib/config.h lib/errorlogger.h lib/exprengine.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h
500499
$(CXX) ${INCLUDE_FOR_LIB} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o $(libcppdir)/exprengine.o $(libcppdir)/exprengine.cpp
501500

502501
$(libcppdir)/forwardanalyzer.o: lib/forwardanalyzer.cpp lib/astutils.h lib/config.h lib/errorlogger.h lib/forwardanalyzer.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/utils.h lib/valueflow.h lib/valueptr.h
@@ -733,9 +732,6 @@ test/testtokenize.o: test/testtokenize.cpp externals/simplecpp/simplecpp.h lib/c
733732
test/testtokenlist.o: test/testtokenlist.cpp lib/config.h lib/errorlogger.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h
734733
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testtokenlist.o test/testtokenlist.cpp
735734

736-
test/testtrac.o: test/testtrac.cpp lib/check.h lib/checkbool.h lib/checknullpointer.h lib/checkother.h lib/config.h lib/ctu.h lib/errorlogger.h lib/mathlib.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h
737-
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testtrac.o test/testtrac.cpp
738-
739735
test/testtype.o: test/testtype.cpp lib/check.h lib/checktype.h lib/config.h lib/errorlogger.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/timer.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/valueflow.h test/testsuite.h
740736
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testtype.o test/testtype.cpp
741737

test/testastutils.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,14 @@ class TestAstUtils : public TestFixture {
188188
ASSERT_EQUALS(true, isSameExpression("void f() {double y = 1e1; (x + y) < (x + 10.0); } ", "+", "+"));
189189
ASSERT_EQUALS(true, isSameExpression("void f() {double y = 1e1; (x + 10.0) < (y + x); } ", "+", "+"));
190190
ASSERT_EQUALS(true, isSameExpression("void f() {double y = 1e1; double z = 10.0; (x + y) < (x + z); } ", "+", "+"));
191+
ASSERT_EQUALS(true, isSameExpression("A + A", "A", "A"));
192+
193+
//https://trac.cppcheck.net/ticket/9700
194+
ASSERT_EQUALS(true, isSameExpression("A::B + A::B;", "::", "::"));
195+
ASSERT_EQUALS(false, isSameExpression("A::B + A::C;", "::", "::"));
196+
ASSERT_EQUALS(true, isSameExpression("A::B* get() { if(x) return new A::B(true); else return new A::B(true); }", "new", "new"));
197+
ASSERT_EQUALS(false, isSameExpression("A::B* get() { if(x) return new A::B(true); else return new A::C(true); }", "new", "new"));
198+
ASSERT_EQUALS(true, true);
191199
}
192200

193201
bool isVariableChanged(const char code[], const char startPattern[], const char endPattern[]) {

test/testbool.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ class TestBool : public TestFixture {
6262
TEST_CASE(checkComparisonOfFuncReturningBool4);
6363
TEST_CASE(checkComparisonOfFuncReturningBool5);
6464
TEST_CASE(checkComparisonOfFuncReturningBool6);
65+
// Integration tests..
66+
TEST_CASE(checkComparisonOfFuncReturningBoolIntegrationTest1); // #7798 overloaded functions
6567

6668
TEST_CASE(checkComparisonOfBoolWithBool);
6769

@@ -746,6 +748,18 @@ class TestBool : public TestFixture {
746748
ASSERT_EQUALS("", errout.str());
747749
}
748750

751+
void checkComparisonOfFuncReturningBoolIntegrationTest1() { // #7798
752+
check("bool eval(double *) { return false; }\n"
753+
"double eval(char *) { return 1.0; }\n"
754+
"int main(int argc, char *argv[])\n"
755+
"{\n"
756+
" if ( eval(argv[1]) > eval(argv[2]) )\n"
757+
" return 1;\n"
758+
" return 0;\n"
759+
"}");
760+
ASSERT_EQUALS("", errout.str());
761+
}
762+
749763
void checkComparisonOfBoolWithBool() {
750764
const char code[] = "void f(){\n"
751765
" int temp = 4;\n"

test/testnullpointer.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class TestNullPointer : public TestFixture {
9494
TEST_CASE(nullpointer51);
9595
TEST_CASE(nullpointer52);
9696
TEST_CASE(nullpointer53); // #8005
97+
TEST_CASE(nullpointer54); // #9573
9798
TEST_CASE(nullpointer_addressOf); // address of
9899
TEST_CASE(nullpointerSwitch); // #2626
99100
TEST_CASE(nullpointer_cast); // #4692
@@ -1762,6 +1763,22 @@ class TestNullPointer : public TestFixture {
17621763
ASSERT_EQUALS("[test.cpp:3]: (warning) Possible null pointer dereference: params\n", errout.str());
17631764
}
17641765

1766+
void nullpointer54() {
1767+
check("int foo (int **array, size_t n_array) {\n"
1768+
" size_t i;\n"
1769+
" for (i = 0; i < n_array; ++i) {\n"
1770+
" if (*array[i] == 1)\n"
1771+
" return 1;\n"
1772+
" }\n"
1773+
" return 0;\n"
1774+
"} \n"
1775+
"int bar() {\n"
1776+
" int **array = NULL; \n"
1777+
" foo (array, 0);\n"
1778+
"}\n");
1779+
ASSERT_EQUALS("", errout.str());
1780+
}
1781+
17651782
void nullpointer_addressOf() { // address of
17661783
check("void f() {\n"
17671784
" struct X *x = 0;\n"

test/testother.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class TestOther : public TestFixture {
130130
TEST_CASE(duplicateBranch1); // tests extracted by http://www.viva64.com/en/b/0149/ ( Comparison between PVS-Studio and cppcheck ): Errors detected in Quake 3: Arena by PVS-Studio: Fragment 2
131131
TEST_CASE(duplicateBranch2); // empty macro
132132
TEST_CASE(duplicateBranch3);
133+
TEST_CASE(duplicateBranch4);
133134
TEST_CASE(duplicateExpression1);
134135
TEST_CASE(duplicateExpression2); // ticket #2730
135136
TEST_CASE(duplicateExpression3); // ticket #3317
@@ -4101,6 +4102,17 @@ class TestOther : public TestFixture {
41014102
ASSERT_EQUALS("", errout.str());
41024103
}
41034104

4105+
void duplicateBranch4() {
4106+
check("void* f(bool b) {\n"
4107+
" if (b) {\n"
4108+
" return new A::Y(true);\n"
4109+
" } else {\n"
4110+
" return new A::Z(true);\n"
4111+
" }\n"
4112+
"}\n");
4113+
ASSERT_EQUALS("", errout.str());
4114+
}
4115+
41044116
void duplicateExpression1() {
41054117
check("void foo(int a) {\n"
41064118
" if (a == a) { }\n"

test/testtrac.cpp

Lines changed: 0 additions & 115 deletions
This file was deleted.

0 commit comments

Comments
 (0)