@@ -59,36 +59,46 @@ jobs:
5959 if : contains(matrix.os, 'ubuntu')
6060 run : |
6161 mkdir cmake.output
62- cd cmake.output
62+ pushd cmake.output
6363 cmake -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On ..
6464 cmake --build . -- -j$(nproc)
65- cd ..
6665
6766 - name : CMake build on macos (with GUI)
6867 if : contains(matrix.os, 'macos')
6968 run : |
7069 mkdir cmake.output
71- cd cmake.output
70+ pushd cmake.output
7271 cmake -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DQt5_DIR=$(brew --prefix qt@5)/lib/cmake/Qt5 ..
7372 cmake --build . -- -j$(nproc)
74- cd ..
7573
7674 - name : Run CMake test
7775 run : |
7876 cmake --build cmake.output --target check -- -j$(nproc)
7977
8078 - name : Run CTest
8179 run : |
82- cd cmake.output
80+ pushd cmake.output
8381 ctest -j$(nproc)
84- cd ..
8582
86- - name : Build and test with Unsigned char
83+ - name : Build with Unsigned char
8784 run : |
8885 make clean
8986 make -j$(nproc) CXXFLAGS=-funsigned-char testrunner
87+
88+ - name : Test with Unsigned char
89+ run : |
9090 ./testrunner TestSymbolDatabase
9191
92+ - name : Build with TEST_MATHLIB_VALUE
93+ run : |
94+ make clean
95+ touch lib/mathlib.cpp test/testmathlib.cpp
96+ make -j$(nproc) CPPFLAGS=-DTEST_MATHLIB_VALUE all
97+
98+ - name : Test with TEST_MATHLIB_VALUE
99+ run : |
100+ make -j$(nproc) CPPFLAGS=-DTEST_MATHLIB_VALUE check
101+
92102 - name : Check syntax with NONNEG
93103 run : |
94104 ls lib/*.cpp | xargs -n 1 -P $(nproc) g++ -fsyntax-only -std=c++0x -Ilib -Iexternals -Iexternals/picojson -Iexternals/simplecpp -Iexternals/tinyxml2 -DNONNEG
@@ -112,6 +122,7 @@ jobs:
112122 run : |
113123 tools/generate_and_run_more_tests.sh
114124
125+ # do not use pushd in this step since we go below the working directory
115126 - name : Run test/cli
116127 run : |
117128 cd test/cli
@@ -149,14 +160,33 @@ jobs:
149160 run : |
150161 make -j$(nproc) checkCWEEntries validateXML
151162
163+ # TODO: move to scriptcheck.yml so these are tested with all Python versions?
152164 - name : Test addons
153165 run : |
154166 ./cppcheck --addon=threadsafety addons/test/threadsafety
155167 ./cppcheck --addon=threadsafety --std=c++03 addons/test/threadsafety
156168 ./cppcheck --addon=misra --inline-suppr --enable=information --error-exitcode=1 addons/test/misra/misra-ctu-*-test.c
157- cd addons/test
158- ../../cppcheck --dump -DDUMMY --suppress=uninitvar --inline-suppr misra/misra-test.c --std=c89 --platform=unix64 && python3 ../misra.py -verify misra/misra-test.c.dump
169+ pushd addons/test
170+ # We'll force C89 standard to enable an additional verification for
171+ # rules 5.4 and 5.5 which have standard-dependent options.
172+ ../../cppcheck --dump -DDUMMY --suppress=uninitvar --inline-suppr misra/misra-test.c --std=c89 --platform=unix64
173+ python3 ../misra.py -verify misra/misra-test.c.dump
174+ # TODO: do we need to verify something here?
175+ ../../cppcheck --dump -DDUMMY --suppress=uninitvar --suppress=uninitStructMember --std=c89 misra/misra-test.h
176+ ../../cppcheck --dump misra/misra-test.cpp
177+ python3 ../misra.py -verify misra/misra-test.cpp.dump
178+ python3 ../misra.py --rule-texts=misra/misra2012_rules_dummy_ascii.txt -verify misra/misra-test.cpp.dump
179+ python3 ../misra.py --rule-texts=misra/misra2012_rules_dummy_utf8.txt -verify misra/misra-test.cpp.dump
180+ python3 ../misra.py --rule-texts=misra/misra2012_rules_dummy_windows1250.txt -verify misra/misra-test.cpp.dump
159181 ../../cppcheck --addon=misra --platform=avr8 --error-exitcode=1 misra/misra-test-avr8.c
182+ ../../cppcheck --dump misc-test.cpp
183+ python3 ../misc.py -verify misc-test.cpp.dump
184+ ../../cppcheck --dump naming_test.c
185+ python3 ../naming.py --var='[a-z].*' --function='[a-z].*' naming_test.c.dump
186+ ../../cppcheck --dump naming_test.cpp
187+ python3 ../naming.py --var='[a-z].*' --function='[a-z].*' naming_test.cpp.dump
188+ ../../cppcheck --dump namingng_test.c
189+ python3 ../namingng.py --configfile ../naming.json --verify namingng_test.c.dump
160190
161191 - name : Ensure misra addon does not crash
162192 if : contains(matrix.os, 'ubuntu')
0 commit comments