From 1ba89dccbea570568bf8b0104df91c4e7c7e3d44 Mon Sep 17 00:00:00 2001 From: firewave Date: Wed, 4 Oct 2023 21:26:22 +0200 Subject: [PATCH 1/4] testrunner: got rid of some redundant code --- Makefile | 28 ++++++++++++++-------------- test/helpers.cpp | 28 ++++++++++++++++++++++++++++ test/helpers.h | 3 +++ test/testbufferoverrun.cpp | 10 ++-------- test/testclass.cpp | 9 ++------- test/testcondition.cpp | 14 +++----------- test/testincompletestatement.cpp | 10 ++-------- test/testleakautovar.cpp | 10 ++-------- test/testnullpointer.cpp | 10 ++-------- test/testother.cpp | 14 +++----------- test/testsimplifytypedef.cpp | 10 ++-------- test/testsimplifyusing.cpp | 8 ++------ test/testsizeof.cpp | 10 ++-------- test/teststring.cpp | 10 ++-------- test/testtokenize.cpp | 13 ++----------- test/testunusedprivfunc.cpp | 10 ++-------- test/testunusedvar.cpp | 25 ++++--------------------- test/testvalueflow.cpp | 8 ++------ 18 files changed, 79 insertions(+), 151 deletions(-) diff --git a/Makefile b/Makefile index 36567d26387..389f6fb2c25 100644 --- a/Makefile +++ b/Makefile @@ -709,7 +709,7 @@ test/testbool.o: test/testbool.cpp lib/check.h lib/checkbool.h lib/color.h lib/c test/testboost.o: test/testboost.cpp lib/check.h lib/checkboost.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testboost.cpp -test/testbufferoverrun.o: test/testbufferoverrun.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkbufferoverrun.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testbufferoverrun.o: test/testbufferoverrun.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkbufferoverrun.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testbufferoverrun.cpp test/testcharvar.o: test/testcharvar.cpp lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h @@ -721,7 +721,7 @@ test/testcheck.o: test/testcheck.cpp lib/check.h lib/color.h lib/config.h lib/er test/testclangimport.o: test/testclangimport.cpp lib/check.h lib/clangimport.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testclangimport.cpp -test/testclass.o: test/testclass.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testclass.o: test/testclass.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testclass.cpp test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmdlineparser.h cli/cppcheckexecutor.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/vfvalue.h test/fixture.h test/helpers.h test/redirect.h @@ -730,7 +730,7 @@ test/testcmdlineparser.o: test/testcmdlineparser.cpp cli/cmdlinelogger.h cli/cmd test/testcolor.o: test/testcolor.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcolor.cpp -test/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testcondition.o: test/testcondition.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkcondition.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testcondition.cpp test/testconstructors.o: test/testconstructors.cpp lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h @@ -757,7 +757,7 @@ test/testgarbage.o: test/testgarbage.cpp externals/simplecpp/simplecpp.h lib/che test/testimportproject.o: test/testimportproject.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testimportproject.cpp -test/testincompletestatement.o: test/testincompletestatement.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testincompletestatement.o: test/testincompletestatement.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testincompletestatement.cpp test/testinternal.o: test/testinternal.cpp lib/check.h lib/checkinternal.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h @@ -766,7 +766,7 @@ test/testinternal.o: test/testinternal.cpp lib/check.h lib/checkinternal.h lib/c test/testio.o: test/testio.cpp lib/check.h lib/checkio.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testio.cpp -test/testleakautovar.o: test/testleakautovar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkleakautovar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testleakautovar.o: test/testleakautovar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkleakautovar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testleakautovar.cpp test/testlibrary.o: test/testlibrary.cpp externals/tinyxml2/tinyxml2.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h @@ -778,13 +778,13 @@ test/testmathlib.o: test/testmathlib.cpp lib/check.h lib/color.h lib/config.h li test/testmemleak.o: test/testmemleak.cpp lib/check.h lib/checkmemoryleak.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testmemleak.cpp -test/testnullpointer.o: test/testnullpointer.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checknullpointer.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testnullpointer.o: test/testnullpointer.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checknullpointer.h lib/color.h lib/config.h lib/ctu.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testnullpointer.cpp test/testoptions.o: test/testoptions.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h test/options.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testoptions.cpp -test/testother.o: test/testother.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testother.o: test/testother.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testother.cpp test/testpath.o: test/testpath.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h @@ -814,22 +814,22 @@ test/testsimplifytemplate.o: test/testsimplifytemplate.cpp lib/check.h lib/color test/testsimplifytokens.o: test/testsimplifytokens.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifytokens.cpp -test/testsimplifytypedef.o: test/testsimplifytypedef.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testsimplifytypedef.o: test/testsimplifytypedef.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifytypedef.cpp -test/testsimplifyusing.o: test/testsimplifyusing.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testsimplifyusing.o: test/testsimplifyusing.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsimplifyusing.cpp test/testsingleexecutor.o: test/testsingleexecutor.cpp cli/executor.h cli/singleexecutor.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.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/vfvalue.h test/fixture.h test/helpers.h test/redirect.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsingleexecutor.cpp -test/testsizeof.o: test/testsizeof.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checksizeof.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testsizeof.o: test/testsizeof.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checksizeof.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testsizeof.cpp test/teststl.o: test/teststl.cpp lib/check.h lib/checkstl.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststl.cpp -test/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkstring.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/teststring.o: test/teststring.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkstring.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/teststring.cpp test/testsummaries.o: test/testsummaries.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/summaries.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h @@ -868,10 +868,10 @@ test/testuninitvar.o: test/testuninitvar.cpp lib/check.h lib/checkuninitvar.h li test/testunusedfunctions.o: test/testunusedfunctions.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedfunctions.cpp -test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testunusedprivfunc.o: test/testunusedprivfunc.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkclass.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/sourcelocation.h lib/standards.h lib/suppressions.h lib/symboldatabase.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedprivfunc.cpp -test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testunusedvar.o: test/testunusedvar.cpp externals/simplecpp/simplecpp.h lib/check.h lib/checkunusedvar.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testunusedvar.cpp test/testutils.o: test/testutils.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h @@ -880,7 +880,7 @@ test/testutils.o: test/testutils.cpp lib/check.h lib/color.h lib/config.h lib/er test/testvaarg.o: test/testvaarg.cpp lib/check.h lib/checkvaarg.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testvaarg.cpp -test/testvalueflow.o: test/testvalueflow.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h +test/testvalueflow.o: test/testvalueflow.cpp externals/simplecpp/simplecpp.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h test/helpers.h $(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testvalueflow.cpp test/testvarid.o: test/testvarid.cpp lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.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/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h diff --git a/test/helpers.cpp b/test/helpers.cpp index 2e1e42c0afc..46ab927820e 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -137,3 +137,31 @@ std::string PreprocessorHelper::getcode(Preprocessor &preprocessor, const std::s return ret; } + +simplecpp::TokenList PreprocessorHelper::preprocess(const char code[], std::vector &files) +{ + std::istringstream istr(code); + const simplecpp::TokenList tokens1(istr, files, files[0]); + + // Preprocess.. + simplecpp::TokenList tokens2(files); + std::map filedata; + simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + + return tokens2; +} + +simplecpp::TokenList PreprocessorHelper::preprocess(Preprocessor &preprocessor, const char code[], std::vector &files) +{ + std::istringstream istr(code); + const simplecpp::TokenList tokens1(istr, files, files[0]); + + // Preprocess.. + simplecpp::TokenList tokens2(files); + std::map filedata; + simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + + preprocessor.setDirectives(tokens1); + + return tokens2; +} diff --git a/test/helpers.h b/test/helpers.h index cdca26f9066..d293a4b9622 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -90,6 +90,9 @@ class PreprocessorHelper * @param inlineSuppression the inline suppressions */ static std::string getcode(Preprocessor &preprocessor, const std::string &filedata, const std::string &cfg, const std::string &filename, Suppressions *inlineSuppression = nullptr); + + static simplecpp::TokenList preprocess(const char code[], std::vector &files); + static simplecpp::TokenList preprocess(Preprocessor &preprocessor, const char code[], std::vector &files); }; namespace cppcheck { diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 30f985f97d1..384b348d8d7 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -21,6 +21,7 @@ #include "checkbufferoverrun.h" #include "ctu.h" #include "errortypes.h" +#include "helpers.h" #include "standards.h" #include "platform.h" #include "settings.h" @@ -79,15 +80,8 @@ class TestBufferOverrun : public TestFixture { const Settings settings = settingsBuilder(settings0).severity(Severity::performance) .c(Standards::CLatest).cpp(Standards::CPPLatest).certainty(Certainty::inconclusive).build(); - // Raw tokens.. std::vector files(1, filename); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenizer.. Tokenizer tokenizer(&settings, this); diff --git a/test/testclass.cpp b/test/testclass.cpp index 8ee7462b68c..86e25ff632d 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -19,6 +19,7 @@ #include "check.h" #include "checkclass.h" #include "errortypes.h" +#include "helpers.h" #include "preprocessor.h" #include "settings.h" #include "fixture.h" @@ -8418,13 +8419,7 @@ class TestClass : public TestFixture { // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&settings, this); diff --git a/test/testcondition.cpp b/test/testcondition.cpp index bfe9713fce3..ee4b00d3b92 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -18,6 +18,7 @@ #include "checkcondition.h" #include "errortypes.h" +#include "helpers.h" #include "library.h" #include "platform.h" #include "preprocessor.h" @@ -131,18 +132,9 @@ class TestCondition : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. - std::vector files(1, filename); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - Preprocessor preprocessor(settings); - preprocessor.setDirectives(tokens1); + std::vector files(1, filename); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); // Tokenizer.. Tokenizer tokenizer(&settings, this, &preprocessor); diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index c1b50772bba..73dd649b285 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -18,6 +18,7 @@ #include "checkother.h" #include "errortypes.h" +#include "helpers.h" #include "settings.h" #include "fixture.h" #include "tokenize.h" @@ -43,15 +44,8 @@ class TestIncompleteStatement : public TestFixture { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, inconclusive).build(); - // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&settings1, this); diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index b07ca4fbfcf..7bbc2d410af 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -19,6 +19,7 @@ #include "checkleakautovar.h" #include "errortypes.h" +#include "helpers.h" #include "library.h" #include "settings.h" #include "fixture.h" @@ -2841,15 +2842,8 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. std::vector files(1, cpp?"test.cpp":"test.c"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenizer.. Tokenizer tokenizer(&settings, this); diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index 2c116825e21..c89286c560a 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -20,6 +20,7 @@ #include "checknullpointer.h" #include "ctu.h" #include "errortypes.h" +#include "helpers.h" #include "library.h" #include "settings.h" #include "fixture.h" @@ -198,15 +199,8 @@ class TestNullPointer : public TestFixture { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build(); - // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenizer.. Tokenizer tokenizer(&settings1, this); diff --git a/test/testother.cpp b/test/testother.cpp index 31802bb12af..dae70228e5b 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -18,6 +18,7 @@ #include "checkother.h" #include "errortypes.h" +#include "helpers.h" #include "library.h" #include "platform.h" #include "preprocessor.h" @@ -343,18 +344,9 @@ class TestOther : public TestFixture { settings->standards.cpp = Standards::CPPLatest; settings->certainty.enable(Certainty::inconclusive); - // Raw tokens.. - std::vector files(1, filename); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - Preprocessor preprocessor(*settings); - preprocessor.setDirectives(tokens1); + std::vector files(1, filename); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); // Tokenizer.. Tokenizer tokenizer(settings, this, &preprocessor); diff --git a/test/testsimplifytypedef.cpp b/test/testsimplifytypedef.cpp index efc9f0b441b..a74139a758b 100644 --- a/test/testsimplifytypedef.cpp +++ b/test/testsimplifytypedef.cpp @@ -18,6 +18,7 @@ #include "errortypes.h" +#include "helpers.h" #include "platform.h" #include "settings.h" #include "fixture.h" @@ -263,15 +264,8 @@ class TestSimplifyTypedef : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&settings0, this); diff --git a/test/testsimplifyusing.cpp b/test/testsimplifyusing.cpp index 33d3cb7bb31..478784f5046 100644 --- a/test/testsimplifyusing.cpp +++ b/test/testsimplifyusing.cpp @@ -18,6 +18,7 @@ #include "errortypes.h" +#include "helpers.h" #include "platform.h" #include "settings.h" #include "fixture.h" @@ -107,12 +108,7 @@ class TestSimplifyUsing : public TestFixture { if (preprocess) { std::vector files{ "test.cpp" }; - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); tokenizer.createTokens(std::move(tokens2)); } diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index e35c0d153b8..f96b63b06f2 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -18,6 +18,7 @@ #include "checksizeof.h" #include "errortypes.h" +#include "helpers.h" #include "settings.h" #include "fixture.h" #include "tokenize.h" @@ -69,15 +70,8 @@ class TestSizeof : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&settings, this); diff --git a/test/teststring.cpp b/test/teststring.cpp index 0ef10600797..e6bd568102e 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -19,6 +19,7 @@ #include "checkstring.h" #include "errortypes.h" +#include "helpers.h" #include "settings.h" #include "fixture.h" #include "tokenize.h" @@ -66,15 +67,8 @@ class TestString : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. std::vector files(1, filename); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&settings, this); diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 3ac55383a9c..a84a8305554 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -7601,18 +7601,9 @@ class TestTokenizer : public TestFixture { const Settings settings = settingsBuilder().checkHeaders(checkHeadersFlag).build(); - // Raw tokens.. - std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - Preprocessor preprocessor(settings0); - preprocessor.setDirectives(tokens1); + std::vector files(1, "test.cpp"); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); // Tokenizer.. Tokenizer tokenizer(&settings, this); diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index d3b56339f1b..4bd5956a78e 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -18,6 +18,7 @@ #include "checkclass.h" #include "errortypes.h" +#include "helpers.h" #include "platform.h" #include "settings.h" #include "fixture.h" @@ -96,15 +97,8 @@ class TestUnusedPrivateFunction : public TestFixture { const Settings settings1 = settingsBuilder(settings).platform(platform).build(); - // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&settings1, this); diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index ff6110afc5f..fb57bb983fb 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -18,6 +18,7 @@ #include "checkunusedvar.h" #include "errortypes.h" +#include "helpers.h" #include "preprocessor.h" #include "settings.h" #include "fixture.h" @@ -281,18 +282,9 @@ class TestUnusedVar : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - Preprocessor preprocessor(settings); - preprocessor.setDirectives(tokens1); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); // Tokenizer.. Tokenizer tokenizer(&settings, this, &preprocessor); @@ -309,18 +301,9 @@ class TestUnusedVar : public TestFixture { // Clear the error buffer.. errout.str(""); - // Raw tokens.. - std::vector files(1, filename); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - // Preprocess.. - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - Preprocessor preprocessor(settings); - preprocessor.setDirectives(tokens1); + std::vector files(1, filename); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); // Tokenizer.. Tokenizer tokenizer(&settings, this, &preprocessor); diff --git a/test/testvalueflow.cpp b/test/testvalueflow.cpp index b0ad19d3d33..99cb0ce8324 100644 --- a/test/testvalueflow.cpp +++ b/test/testvalueflow.cpp @@ -16,6 +16,7 @@ * along with this program. If not, see . */ +#include "helpers.h" #include "library.h" #include "mathlib.h" #include "platform.h" @@ -491,12 +492,7 @@ class TestValueFlow : public TestFixture { errout.str(""); std::vector files(1, "test.cpp"); - std::istringstream istr(code); - const simplecpp::TokenList tokens1(istr, files, files[0]); - - simplecpp::TokenList tokens2(files); - std::map filedata; - simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); + simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); // Tokenize.. Tokenizer tokenizer(&s, this); From 7015840fec916e28c5579b8671d9fd529c913b58 Mon Sep 17 00:00:00 2001 From: firewave Date: Wed, 4 Oct 2023 21:40:12 +0200 Subject: [PATCH 2/4] testrunner: got rid of some redundant code --- test/helpers.cpp | 13 ++++++++----- test/helpers.h | 4 ++-- test/testbufferoverrun.cpp | 5 ++--- test/testclass.cpp | 7 ++----- test/testcondition.cpp | 5 ++--- test/testincompletestatement.cpp | 5 ++--- test/testleakautovar.cpp | 5 ++--- test/testnullpointer.cpp | 5 ++--- test/testother.cpp | 5 ++--- test/testsimplifytypedef.cpp | 5 ++--- test/testsimplifyusing.cpp | 6 ++---- test/testsizeof.cpp | 5 ++--- test/teststring.cpp | 5 ++--- test/testtokenize.cpp | 5 ++--- test/testunusedprivfunc.cpp | 5 ++--- test/testunusedvar.cpp | 10 ++++------ test/testvalueflow.cpp | 5 ++--- 17 files changed, 42 insertions(+), 58 deletions(-) diff --git a/test/helpers.cpp b/test/helpers.cpp index 46ab927820e..8834870d771 100644 --- a/test/helpers.cpp +++ b/test/helpers.cpp @@ -138,8 +138,9 @@ std::string PreprocessorHelper::getcode(Preprocessor &preprocessor, const std::s return ret; } -simplecpp::TokenList PreprocessorHelper::preprocess(const char code[], std::vector &files) +void PreprocessorHelper::preprocess(const char code[], std::vector &files, Tokenizer& tokenizer) { + // Raw Tokens.. std::istringstream istr(code); const simplecpp::TokenList tokens1(istr, files, files[0]); @@ -148,10 +149,11 @@ simplecpp::TokenList PreprocessorHelper::preprocess(const char code[], std::vect std::map filedata; simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - return tokens2; + // Tokenizer.. + tokenizer.createTokens(std::move(tokens2)); } -simplecpp::TokenList PreprocessorHelper::preprocess(Preprocessor &preprocessor, const char code[], std::vector &files) +void PreprocessorHelper::preprocess(Preprocessor &preprocessor, const char code[], std::vector &files, Tokenizer& tokenizer) { std::istringstream istr(code); const simplecpp::TokenList tokens1(istr, files, files[0]); @@ -161,7 +163,8 @@ simplecpp::TokenList PreprocessorHelper::preprocess(Preprocessor &preprocessor, std::map filedata; simplecpp::preprocess(tokens2, tokens1, files, filedata, simplecpp::DUI()); - preprocessor.setDirectives(tokens1); + // Tokenizer.. + tokenizer.createTokens(std::move(tokens2)); - return tokens2; + preprocessor.setDirectives(tokens1); } diff --git a/test/helpers.h b/test/helpers.h index d293a4b9622..36f53c357f8 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -91,8 +91,8 @@ class PreprocessorHelper */ static std::string getcode(Preprocessor &preprocessor, const std::string &filedata, const std::string &cfg, const std::string &filename, Suppressions *inlineSuppression = nullptr); - static simplecpp::TokenList preprocess(const char code[], std::vector &files); - static simplecpp::TokenList preprocess(Preprocessor &preprocessor, const char code[], std::vector &files); + static void preprocess(const char code[], std::vector &files, Tokenizer& tokenizer); + static void preprocess(Preprocessor &preprocessor, const char code[], std::vector &files, Tokenizer& tokenizer); }; namespace cppcheck { diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 384b348d8d7..84052a050be 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -81,11 +81,10 @@ class TestBufferOverrun : public TestFixture { .c(Standards::CLatest).cpp(Standards::CPPLatest).certainty(Certainty::inconclusive).build(); std::vector files(1, filename); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for buffer overruns.. diff --git a/test/testclass.cpp b/test/testclass.cpp index 86e25ff632d..855697a5c2e 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -8417,13 +8417,10 @@ class TestClass : public TestFixture { const Settings settings = settingsBuilder().severity(Severity::style).build(); - // Raw tokens.. std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); - - // Tokenize.. Tokenizer tokenizer(&settings, this); - tokenizer.createTokens(std::move(tokens2)); + PreprocessorHelper::preprocess(code, files, tokenizer); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check.. diff --git a/test/testcondition.cpp b/test/testcondition.cpp index ee4b00d3b92..3a79b64a7e1 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -134,11 +134,10 @@ class TestCondition : public TestFixture { Preprocessor preprocessor(settings); std::vector files(1, filename); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); + Tokenizer tokenizer(&settings, this, &preprocessor); + PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings, this, &preprocessor); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Run checks.. diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index 73dd649b285..5a5d9c6196d 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -45,11 +45,10 @@ class TestIncompleteStatement : public TestFixture { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, inconclusive).build(); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings1, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - Tokenizer tokenizer(&settings1, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for incomplete statements.. diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index 7bbc2d410af..e8dc8d8242d 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -2843,11 +2843,10 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { errout.str(""); std::vector files(1, cpp?"test.cpp":"test.c"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for leaks.. diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index c89286c560a..f8bc24cdd0a 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -200,11 +200,10 @@ class TestNullPointer : public TestFixture { const Settings settings1 = settingsBuilder(settings).certainty(Certainty::inconclusive, false).build(); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings1, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings1, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for null pointer dereferences.. diff --git a/test/testother.cpp b/test/testother.cpp index dae70228e5b..c7c5e717028 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -346,11 +346,10 @@ class TestOther : public TestFixture { Preprocessor preprocessor(*settings); std::vector files(1, filename); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); + Tokenizer tokenizer(settings, this, &preprocessor); + PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(settings, this, &preprocessor); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check.. diff --git a/test/testsimplifytypedef.cpp b/test/testsimplifytypedef.cpp index a74139a758b..6d65d2d3453 100644 --- a/test/testsimplifytypedef.cpp +++ b/test/testsimplifytypedef.cpp @@ -265,11 +265,10 @@ class TestSimplifyTypedef : public TestFixture { errout.str(""); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings0, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - Tokenizer tokenizer(&settings0, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.createLinks(); tokenizer.simplifyTypedef(); diff --git a/test/testsimplifyusing.cpp b/test/testsimplifyusing.cpp index 478784f5046..f4d3e6363b2 100644 --- a/test/testsimplifyusing.cpp +++ b/test/testsimplifyusing.cpp @@ -107,10 +107,8 @@ class TestSimplifyUsing : public TestFixture { Tokenizer tokenizer(&settings, this); if (preprocess) { - std::vector files{ "test.cpp" }; - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); - - tokenizer.createTokens(std::move(tokens2)); + std::vector files(1, "test.cpp"); + PreprocessorHelper::preprocess(code, files, tokenizer); } std::istringstream istr(code); diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index f96b63b06f2..39c2c0815e3 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -71,11 +71,10 @@ class TestSizeof : public TestFixture { errout.str(""); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - Tokenizer tokenizer(&settings, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check... diff --git a/test/teststring.cpp b/test/teststring.cpp index e6bd568102e..81bd7fa964e 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -68,11 +68,10 @@ class TestString : public TestFixture { errout.str(""); std::vector files(1, filename); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - Tokenizer tokenizer(&settings, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check char variable usage.. diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index a84a8305554..297a4dade16 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -7603,11 +7603,10 @@ class TestTokenizer : public TestFixture { Preprocessor preprocessor(settings0); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); + Tokenizer tokenizer(&settings, this); + PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); return tokenizer.tokens()->stringifyList(); diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index 4bd5956a78e..c25d8ae9694 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -98,11 +98,10 @@ class TestUnusedPrivateFunction : public TestFixture { const Settings settings1 = settingsBuilder(settings).platform(platform).build(); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&settings1, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - Tokenizer tokenizer(&settings1, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for unused private functions.. diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index fb57bb983fb..c778f8c3d72 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -284,11 +284,10 @@ class TestUnusedVar : public TestFixture { std::vector files(1, "test.cpp"); Preprocessor preprocessor(settings); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); + Tokenizer tokenizer(&settings, this, &preprocessor); + PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings, this, &preprocessor); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for unused variables.. @@ -303,11 +302,10 @@ class TestUnusedVar : public TestFixture { Preprocessor preprocessor(settings); std::vector files(1, filename); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(preprocessor, code, files); + Tokenizer tokenizer(&settings, this, &preprocessor); + PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - Tokenizer tokenizer(&settings, this, &preprocessor); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); // Check for unused variables.. diff --git a/test/testvalueflow.cpp b/test/testvalueflow.cpp index 99cb0ce8324..b746d2bcef1 100644 --- a/test/testvalueflow.cpp +++ b/test/testvalueflow.cpp @@ -492,11 +492,10 @@ class TestValueFlow : public TestFixture { errout.str(""); std::vector files(1, "test.cpp"); - simplecpp::TokenList tokens2 = PreprocessorHelper::preprocess(code, files); + Tokenizer tokenizer(&s, this); + PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - Tokenizer tokenizer(&s, this); - tokenizer.createTokens(std::move(tokens2)); tokenizer.simplifyTokens1(""); } From 01ec6507e740d0e314192db3bc27c4f3d6d2ff6c Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 5 Oct 2023 00:31:13 +0200 Subject: [PATCH 3/4] testrunner: added missing asserts --- test/testastutils.cpp | 6 +++--- test/testbufferoverrun.cpp | 5 +++-- test/testclass.cpp | 4 ++-- test/testcondition.cpp | 9 +++++---- test/testincompletestatement.cpp | 5 +++-- test/testleakautovar.cpp | 5 +++-- test/testnullpointer.cpp | 5 +++-- test/testother.cpp | 5 +++-- test/testsizeof.cpp | 5 +++-- test/teststring.cpp | 5 +++-- test/testtokenize.cpp | 9 +++++---- test/testunusedprivfunc.cpp | 8 +++----- test/testunusedvar.cpp | 11 ++++++----- test/testvalueflow.cpp | 5 +++-- 14 files changed, 48 insertions(+), 39 deletions(-) diff --git a/test/testastutils.cpp b/test/testastutils.cpp index 7046c2fc56d..b42a3d720b3 100644 --- a/test/testastutils.cpp +++ b/test/testastutils.cpp @@ -173,14 +173,14 @@ class TestAstUtils : public TestFixture { ASSERT_EQUALS(true, isReturnScope("void positiveTokenOffset() { return; }", 7)); } -#define isSameExpression(code, tokStr1, tokStr2) isSameExpression_(code, tokStr1, tokStr2, __FILE__, __LINE__) - bool isSameExpression_(const char code[], const char tokStr1[], const char tokStr2[], const char* file, int line) { +#define isSameExpression(...) isSameExpression_(__FILE__, __LINE__, __VA_ARGS__) + bool isSameExpression_(const char* file, int line, const char code[], const char tokStr1[], const char tokStr2[]) { const Settings settings; Library library; Tokenizer tokenizer(&settings, this); std::istringstream istr(code); ASSERT_LOC(tokenizer.tokenize(istr, "test.cpp"), file, line); - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); const Token * const tok1 = Token::findsimplematch(tokenizer.tokens(), tokStr1, strlen(tokStr1)); const Token * const tok2 = Token::findsimplematch(tok1->next(), tokStr2, strlen(tokStr2)); return (isSameExpression)(false, false, tok1, tok2, library, false, true, nullptr); diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 84052a050be..d4d03dc0f9b 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -72,7 +72,8 @@ class TestBufferOverrun : public TestFixture { runChecks(tokenizer, this); } - void checkP(const char code[], const char* filename = "test.cpp") +#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) + void checkP_(const char* file, int line, const char code[], const char* filename = "test.cpp") { // Clear the error buffer.. errout.str(""); @@ -85,7 +86,7 @@ class TestBufferOverrun : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for buffer overruns.. runChecks(tokenizer, this); diff --git a/test/testclass.cpp b/test/testclass.cpp index 855697a5c2e..1f3962c404a 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -8410,8 +8410,8 @@ class TestClass : public TestFixture { ASSERT_EQUALS("", errout.str()); } - #define checkUselessOverride(code) checkUselessOverride_(code, __FILE__, __LINE__) - void checkUselessOverride_(const char code[], const char* file, int line) { + #define checkUselessOverride(...) checkUselessOverride_(__FILE__, __LINE__, __VA_ARGS__) + void checkUselessOverride_(const char* file, int line, const char code[]) { // Clear the error log errout.str(""); diff --git a/test/testcondition.cpp b/test/testcondition.cpp index 3a79b64a7e1..0a69e064cb8 100644 --- a/test/testcondition.cpp +++ b/test/testcondition.cpp @@ -128,7 +128,8 @@ class TestCondition : public TestFixture { TEST_CASE(knownConditionIncrementLoop); // #9808 } - void check(const char code[], const Settings &settings, const char* filename = "test.cpp") { +#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) + void check_(const char* file, int line, const char code[], const Settings &settings, const char* filename = "test.cpp") { // Clear the error buffer.. errout.str(""); @@ -138,15 +139,15 @@ class TestCondition : public TestFixture { PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Run checks.. runChecks(tokenizer, this); } - void check(const char code[], const char* filename = "test.cpp", bool inconclusive = false) { + void check_(const char* file, int line, const char code[], const char* filename = "test.cpp", bool inconclusive = false) { const Settings settings = settingsBuilder(settings0).certainty(Certainty::inconclusive, inconclusive).build(); - check(code, settings, filename); + check_(file, line, code, settings, filename); } void assignAndCompare() { diff --git a/test/testincompletestatement.cpp b/test/testincompletestatement.cpp index 5a5d9c6196d..51cf3702cef 100644 --- a/test/testincompletestatement.cpp +++ b/test/testincompletestatement.cpp @@ -38,7 +38,8 @@ class TestIncompleteStatement : public TestFixture { private: const Settings settings = settingsBuilder().severity(Severity::warning).build(); - void check(const char code[], bool inconclusive = false) { +#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) + void check_(const char* file, int line, const char code[], bool inconclusive = false) { // Clear the error buffer.. errout.str(""); @@ -49,7 +50,7 @@ class TestIncompleteStatement : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for incomplete statements.. CheckOther checkOther(&tokenizer, &settings1, this); diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index e8dc8d8242d..167a7bf9576 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -2838,7 +2838,8 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { private: const Settings settings = settingsBuilder().library("std.cfg").checkLibrary().build(); - void checkP(const char code[], bool cpp = false) { +#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) + void checkP_(const char* file, int line, const char code[], bool cpp = false) { // Clear the error buffer.. errout.str(""); @@ -2847,7 +2848,7 @@ class TestLeakAutoVarRecursiveCountLimit : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for leaks.. runChecks(tokenizer, this); diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index f8bc24cdd0a..f6e886c62c8 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -193,7 +193,8 @@ class TestNullPointer : public TestFixture { runChecks(tokenizer, this); } - void checkP(const char code[]) { +#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) + void checkP_(const char* file, int line, const char code[]) { // Clear the error buffer.. errout.str(""); @@ -204,7 +205,7 @@ class TestNullPointer : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for null pointer dereferences.. runChecks(tokenizer, this); diff --git a/test/testother.cpp b/test/testother.cpp index c7c5e717028..1802800bb38 100644 --- a/test/testother.cpp +++ b/test/testother.cpp @@ -331,7 +331,8 @@ class TestOther : public TestFixture { check_(file, line, code, "test.cpp", true, true, false, s); } - void checkP(const char code[], const char *filename = "test.cpp") { +#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) + void checkP_(const char* file, int line, const char code[], const char *filename = "test.cpp") { // Clear the error buffer.. errout.str(""); @@ -350,7 +351,7 @@ class TestOther : public TestFixture { PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check.. runChecks(tokenizer, this); diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index 39c2c0815e3..e71ff8d5d2a 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -66,7 +66,8 @@ class TestSizeof : public TestFixture { runChecks(tokenizer, this); } - void checkP(const char code[]) { +#define checkP(...) checkP_(__FILE__, __LINE__, __VA_ARGS__) + void checkP_(const char* file, int line, const char code[]) { // Clear the error buffer.. errout.str(""); @@ -75,7 +76,7 @@ class TestSizeof : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check... runChecks(tokenizer, this); diff --git a/test/teststring.cpp b/test/teststring.cpp index 81bd7fa964e..57a8232d2ea 100644 --- a/test/teststring.cpp +++ b/test/teststring.cpp @@ -63,7 +63,8 @@ class TestString : public TestFixture { TEST_CASE(deadStrcmp); } - void check(const char code[], const char filename[] = "test.cpp") { +#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) + void check_(const char* file, int line, const char code[], const char filename[] = "test.cpp") { // Clear the error buffer.. errout.str(""); @@ -72,7 +73,7 @@ class TestString : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check char variable usage.. runChecks(tokenizer, this); diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 297a4dade16..e235a0b76d3 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -7595,7 +7595,8 @@ class TestTokenizer : public TestFixture { } } - std::string checkHeaders(const char code[], bool checkHeadersFlag) { +#define checkHdrs(...) checkHdrs_(__FILE__, __LINE__, __VA_ARGS__) + std::string checkHdrs_(const char* file, int line, const char code[], bool checkHeadersFlag) { // Clear the error buffer.. errout.str(""); @@ -7607,7 +7608,7 @@ class TestTokenizer : public TestFixture { PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); return tokenizer.tokens()->stringifyList(); } @@ -7628,14 +7629,14 @@ class TestTokenizer : public TestFixture { "4: void g ( int x ) ;\n" "5: } ;\n" "4: void A :: g ( int x ) { a = 2 ; }\n", - checkHeaders(code, true)); + checkHdrs(code, true)); ASSERT_EQUALS("\n\n##file 1\n\n" "1:\n" "|\n" "4:\n" "5: ;\n", - checkHeaders(code, false)); + checkHdrs(code, false)); } void removeExtraTemplateKeywords() { diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index c25d8ae9694..8ecdc804fc6 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -90,8 +90,8 @@ class TestUnusedPrivateFunction : public TestFixture { TEST_CASE(maybeUnused); } - - void check(const char code[], cppcheck::Platform::Type platform = cppcheck::Platform::Type::Native) { +#define check(...) check_(__FILE__, __LINE__, __VA_ARGS__) + void check_(const char* file, int line, const char code[], cppcheck::Platform::Type platform = cppcheck::Platform::Type::Native) { // Clear the error buffer.. errout.str(""); @@ -102,15 +102,13 @@ class TestUnusedPrivateFunction : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for unused private functions.. CheckClass checkClass(&tokenizer, &settings1, this); checkClass.privateFunctions(); } - - void test1() { check("class Fred\n" "{\n" diff --git a/test/testunusedvar.cpp b/test/testunusedvar.cpp index c778f8c3d72..81ba99a545d 100644 --- a/test/testunusedvar.cpp +++ b/test/testunusedvar.cpp @@ -278,7 +278,8 @@ class TestUnusedVar : public TestFixture { (checkUnusedVar.checkStructMemberUsage)(); } - void checkStructMemberUsageP(const char code[]) { +#define checkStructMemberUsageP(...) checkStructMemberUsageP_(__FILE__, __LINE__, __VA_ARGS__) + void checkStructMemberUsageP_(const char* file, int line, const char code[]) { // Clear the error buffer.. errout.str(""); @@ -288,15 +289,15 @@ class TestUnusedVar : public TestFixture { PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for unused variables.. CheckUnusedVar checkUnusedVar(&tokenizer, &settings, this); (checkUnusedVar.checkStructMemberUsage)(); } - - void checkFunctionVariableUsageP(const char code[], const char* filename = "test.cpp") { +#define checkFunctionVariableUsageP(...) checkFunctionVariableUsageP_(__FILE__, __LINE__, __VA_ARGS__) + void checkFunctionVariableUsageP_(const char* file, int line, const char code[], const char* filename = "test.cpp") { // Clear the error buffer.. errout.str(""); @@ -306,7 +307,7 @@ class TestUnusedVar : public TestFixture { PreprocessorHelper::preprocess(preprocessor, code, files, tokenizer); // Tokenizer.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); // Check for unused variables.. CheckUnusedVar checkUnusedVar(&tokenizer, &settings, this); diff --git a/test/testvalueflow.cpp b/test/testvalueflow.cpp index b746d2bcef1..a718c97f38d 100644 --- a/test/testvalueflow.cpp +++ b/test/testvalueflow.cpp @@ -487,7 +487,8 @@ class TestValueFlow : public TestFixture { return false; } - void bailout(const char code[]) { +#define bailout(...) bailout_(__FILE__, __LINE__, __VA_ARGS__) + void bailout_(const char* file, int line, const char code[]) { const Settings s = settingsBuilder().debugwarnings().build(); errout.str(""); @@ -496,7 +497,7 @@ class TestValueFlow : public TestFixture { PreprocessorHelper::preprocess(code, files, tokenizer); // Tokenize.. - tokenizer.simplifyTokens1(""); + ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); } #define tokenValues(...) tokenValues_(__FILE__, __LINE__, __VA_ARGS__) From ed938f3c74f300e61b8ca6e56072e6606ed08008 Mon Sep 17 00:00:00 2001 From: firewave Date: Thu, 5 Oct 2023 00:51:27 +0200 Subject: [PATCH 4/4] TestAstUtils: removed redundant call --- test/testastutils.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/test/testastutils.cpp b/test/testastutils.cpp index b42a3d720b3..50a6aa36a14 100644 --- a/test/testastutils.cpp +++ b/test/testastutils.cpp @@ -180,7 +180,6 @@ class TestAstUtils : public TestFixture { Tokenizer tokenizer(&settings, this); std::istringstream istr(code); ASSERT_LOC(tokenizer.tokenize(istr, "test.cpp"), file, line); - ASSERT_LOC(tokenizer.simplifyTokens1(""), file, line); const Token * const tok1 = Token::findsimplematch(tokenizer.tokens(), tokStr1, strlen(tokStr1)); const Token * const tok2 = Token::findsimplematch(tok1->next(), tokStr2, strlen(tokStr2)); return (isSameExpression)(false, false, tok1, tok2, library, false, true, nullptr);