Fix TestAstUtils
This commit is contained in:
parent
522de81cc7
commit
d54f4f9c65
4
Makefile
4
Makefile
|
@ -181,6 +181,7 @@ CLIOBJ = cli/cmdlineparser.o \
|
||||||
TESTOBJ = test/options.o \
|
TESTOBJ = test/options.o \
|
||||||
test/test64bit.o \
|
test/test64bit.o \
|
||||||
test/testassert.o \
|
test/testassert.o \
|
||||||
|
test/testastutils.o \
|
||||||
test/testautovariables.o \
|
test/testautovariables.o \
|
||||||
test/testbool.o \
|
test/testbool.o \
|
||||||
test/testboost.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
|
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
|
$(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
|
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
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CFG) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o test/testautovariables.o test/testautovariables.cpp
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "astutils.h"
|
#include "astutils.h"
|
||||||
#include "tokenizer.h"
|
#include "token.h"
|
||||||
|
#include "settings.h"
|
||||||
|
#include "tokenize.h"
|
||||||
#include "testsuite.h"
|
#include "testsuite.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,16 +34,16 @@ private:
|
||||||
TEST_CASE(isReturnScope);
|
TEST_CASE(isReturnScope);
|
||||||
}
|
}
|
||||||
|
|
||||||
Tokenizer tokenize(const char code[], const char filename[]) {
|
bool isReturnScope(const char code[], const char filename[]="test.cpp") {
|
||||||
Tokenizer tokenizer(&settings0, this);
|
Settings settings;
|
||||||
|
Tokenizer tokenizer(&settings, this);
|
||||||
std::istringstream istr(code);
|
std::istringstream istr(code);
|
||||||
tokenizer.tokenize(istr, "test.cpp");
|
tokenizer.tokenize(istr, filename);
|
||||||
return tokenizer;
|
return ::isReturnScope(Token::findsimplematch(tokenizer.tokens(),"}"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void isReturnScope() const {
|
void isReturnScope() {
|
||||||
const Tokenizer &t1 = tokenize("void f() { if (a) { return; } }");
|
ASSERT_EQUALS(true, isReturnScope("void f() { if (a) { return; } }"));
|
||||||
ASSERT_EQUALS(true, ::isReturnScope(Token::findsimplematch(t1.tokens(),"} }")));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,6 +5,7 @@ INCLUDEPATH += ../externals/tinyxml
|
||||||
|
|
||||||
SOURCES += $${BASEPATH}/test64bit.cpp \
|
SOURCES += $${BASEPATH}/test64bit.cpp \
|
||||||
$${BASEPATH}/testassert.cpp \
|
$${BASEPATH}/testassert.cpp \
|
||||||
|
$${BASEPATH}/testastutils.cpp \
|
||||||
$${BASEPATH}/testautovariables.cpp \
|
$${BASEPATH}/testautovariables.cpp \
|
||||||
$${BASEPATH}/testbool.cpp \
|
$${BASEPATH}/testbool.cpp \
|
||||||
$${BASEPATH}/testboost.cpp \
|
$${BASEPATH}/testboost.cpp \
|
||||||
|
|
Loading…
Reference in New Issue