diff --git a/Makefile b/Makefile index 8e99700af..9a99f51ed 100644 --- a/Makefile +++ b/Makefile @@ -181,6 +181,7 @@ CLIOBJ = cli/cmdlineparser.o \ TESTOBJ = test/options.o \ test/test64bit.o \ test/testassert.o \ + test/testastutils.o \ test/testautovariables.o \ test/testbool.o \ test/testboost.o \ @@ -451,6 +452,9 @@ test/test64bit.o: test/test64bit.cpp lib/cxx11emu.h lib/tokenize.h lib/errorlogg test/testassert.o: test/testassert.cpp lib/cxx11emu.h lib/tokenize.h lib/errorlogger.h lib/config.h lib/suppressions.h lib/tokenlist.h lib/checkassert.h lib/check.h lib/token.h lib/valueflow.h lib/mathlib.h lib/settings.h lib/library.h lib/standards.h lib/timer.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CFG) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testassert.o test/testassert.cpp +test/testastutils.o: test/testastutils.cpp lib/cxx11emu.h lib/astutils.h test/testsuite.h lib/errorlogger.h lib/config.h lib/suppressions.h + $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CFG) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testastutils.o test/testastutils.cpp + test/testautovariables.o: test/testautovariables.cpp lib/cxx11emu.h lib/tokenize.h lib/errorlogger.h lib/config.h lib/suppressions.h lib/tokenlist.h lib/checkautovariables.h lib/check.h lib/token.h lib/valueflow.h lib/mathlib.h lib/settings.h lib/library.h lib/standards.h lib/timer.h test/testsuite.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CFG) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testautovariables.o test/testautovariables.cpp diff --git a/test/testastutils.cpp b/test/testastutils.cpp index 98fbed992..37d06bdba 100644 --- a/test/testastutils.cpp +++ b/test/testastutils.cpp @@ -17,7 +17,9 @@ */ #include "astutils.h" -#include "tokenizer.h" +#include "token.h" +#include "settings.h" +#include "tokenize.h" #include "testsuite.h" @@ -32,16 +34,16 @@ private: TEST_CASE(isReturnScope); } - Tokenizer tokenize(const char code[], const char filename[]) { - Tokenizer tokenizer(&settings0, this); + bool isReturnScope(const char code[], const char filename[]="test.cpp") { + Settings settings; + Tokenizer tokenizer(&settings, this); std::istringstream istr(code); - tokenizer.tokenize(istr, "test.cpp"); - return tokenizer; + tokenizer.tokenize(istr, filename); + return ::isReturnScope(Token::findsimplematch(tokenizer.tokens(),"}")); } - void isReturnScope() const { - const Tokenizer &t1 = tokenize("void f() { if (a) { return; } }"); - ASSERT_EQUALS(true, ::isReturnScope(Token::findsimplematch(t1.tokens(),"} }"))); + void isReturnScope() { + ASSERT_EQUALS(true, isReturnScope("void f() { if (a) { return; } }")); } }; diff --git a/test/testfiles.pri b/test/testfiles.pri index 04f03aad9..a43144821 100644 --- a/test/testfiles.pri +++ b/test/testfiles.pri @@ -5,6 +5,7 @@ INCLUDEPATH += ../externals/tinyxml SOURCES += $${BASEPATH}/test64bit.cpp \ $${BASEPATH}/testassert.cpp \ + $${BASEPATH}/testastutils.cpp \ $${BASEPATH}/testautovariables.cpp \ $${BASEPATH}/testbool.cpp \ $${BASEPATH}/testboost.cpp \