Skip to content

Commit fd66b27

Browse files
authored
extracted redundant selfcheck invocation into shared script (danmar#7617)
1 parent 6a51ddb commit fd66b27

File tree

4 files changed

+61
-43
lines changed

4 files changed

+61
-43
lines changed

.github/workflows/asan.yml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,4 @@ jobs:
142142
- name: Self check
143143
if: false
144144
run: |
145-
selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=file-total -D__GNUC__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=gnu --inconclusive --enable=style,performance,portability,warning,missingInclude,information --exception-handling --debug-warnings --check-level=exhaustive"
146-
cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
147-
gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt"
148-
gui_options="$gui_options --suppress=autoNoType:*/moc_*.cpp --suppress=symbolDatabaseWarning:*/moc_*.cpp"
149-
ec=0
150-
./cmake.output/bin/cppcheck $selfcheck_options externals || ec=1
151-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json frontend || ec=1
152-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json -Ifrontend cli || ec=1
153-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json --enable=internal lib || ec=1
154-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options $gui_options --addon=naming.json --suppress=constVariablePointer:*/moc_*.cpp -Icmake.output/gui -Ifrontend -Igui gui/*.cpp cmake.output/gui || ec=1
155-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli -Ifrontend test/*.cpp || ec=1
156-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1
157-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1
158-
exit $ec
145+
./selfcheck_san.sh ./cmake.output

.github/workflows/tsan.yml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,4 @@ jobs:
143143
- name: Self check
144144
if: false
145145
run: |
146-
selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=file-total -D__GNUC__ --error-exitcode=0 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=gnu --inconclusive --enable=style,performance,portability,warning,missingInclude,information --exception-handling --debug-warnings --check-level=exhaustive"
147-
selfcheck_options="$selfcheck_options --executor=thread"
148-
cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
149-
gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt"
150-
gui_options="$gui_options --suppress=autoNoType:*/moc_*.cpp --suppress=symbolDatabaseWarning:*/moc_*.cpp"
151-
ec=0
152-
./cmake.output/bin/cppcheck $selfcheck_options externals || ec=1
153-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json frontend || ec=1
154-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json -Ifrontend cli || ec=1
155-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json --enable=internal lib || ec=1
156-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options $gui_options --addon=naming.json --suppress=constVariablePointer:*/moc_*.cpp -Icmake.output/gui -Ifrontend -Igui gui/*.cpp cmake.output/gui || ec=1
157-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli -Ifrontend test/*.cpp || ec=1
158-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1
159-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1
160-
exit $ec
146+
./selfcheck_san.sh ./cmake.output "--executor=thread --error-exitcode=0"

.github/workflows/ubsan.yml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -137,17 +137,4 @@ jobs:
137137
# TODO: only fail the step on sanitizer issues - since we use processes it will only fail the underlying process which will result in an cppcheckError
138138
- name: Self check
139139
run: |
140-
selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=file-total -D__GNUC__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=gnu --inconclusive --enable=style,performance,portability,warning,missingInclude,information --exception-handling --debug-warnings --check-level=exhaustive"
141-
cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
142-
gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt"
143-
gui_options="$gui_options --suppress=autoNoType:*/moc_*.cpp --suppress=symbolDatabaseWarning:*/moc_*.cpp"
144-
ec=0
145-
./cmake.output/bin/cppcheck $selfcheck_options externals || ec=1
146-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json frontend || ec=1
147-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json -Ifrontend cli || ec=1
148-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json --enable=internal lib || ec=1
149-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options $gui_options --addon=naming.json --suppress=constVariablePointer:*/moc_*.cpp -Icmake.output/gui -Ifrontend -Igui gui/*.cpp cmake.output/gui || ec=1
150-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli -Ifrontend test/*.cpp || ec=1
151-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1
152-
./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1
153-
exit $ec
140+
./selfcheck_san.sh ./cmake.output

selfcheck_san.sh

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/sh
2+
3+
cmake_output="$1"
4+
selfcheck_options_extra="$2"
5+
6+
selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=file-total -D__GNUC__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=gnu --inconclusive --enable=style,performance,portability,warning,missingInclude,information --exception-handling --debug-warnings --check-level=exhaustive"
7+
selfcheck_options="$selfcheck_options $selfcheck_options_extra"
8+
cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
9+
qt_options="--library=qt -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_MOC_HAS_STRINGDATA"
10+
qt_options="$qt_options --suppress=autoNoType:*/moc_*.cpp --suppress=symbolDatabaseWarning:*/moc_*.cpp"
11+
12+
ec=0
13+
14+
$cmake_output/bin/cppcheck $selfcheck_options \
15+
externals \
16+
|| ec=1
17+
18+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
19+
--addon=naming.json \
20+
frontend \
21+
|| ec=1
22+
23+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
24+
--addon=naming.json \
25+
-Ifrontend \
26+
cli \
27+
|| ec=1
28+
29+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
30+
--addon=naming.json \
31+
--enable=internal \
32+
lib \
33+
|| ec=1
34+
35+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $qt_options \
36+
--addon=naming.json \
37+
--suppress=constVariablePointer:*/moc_*.cpp \
38+
-DQT_CHARTS_LIB \
39+
-I$cmake_output/gui -Ifrontend -Igui \
40+
gui/*.cpp $cmake_output/gui \
41+
|| ec=1
42+
43+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
44+
-Icli -Ifrontend \
45+
test/*.cpp \
46+
|| ec=1
47+
48+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
49+
-Icli \
50+
tools/dmake/*.cpp \
51+
|| ec=1
52+
53+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $qt_options \
54+
-I$cmake_output/tools/triage -Igui \
55+
tools/triage/*.cpp $cmake_output/tools/triage \
56+
|| ec=1
57+
58+
exit $ec

0 commit comments

Comments
 (0)