Skip to content

Commit 0007ba8

Browse files
authored
fixed #14383 - clear PATH in selfchecks and explicitly provide executable locations (#8239)
1 parent 62ebc00 commit 0007ba8

2 files changed

Lines changed: 25 additions & 17 deletions

File tree

selfcheck.sh

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,37 @@
33
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"
44
cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
55
gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt"
6-
ec=0
6+
naming_options="--addon-python=$(command -v python) --addon=naming.json"
77

88
if [ -n "$1" ]; then
99
selfcheck_options="$selfcheck_options $1"
1010
fi
1111

12+
mkdir_cmd=$(command -v mkdir)
13+
rm_cmd=$(command -v rm)
14+
15+
# clear PATH to prevent unintentional process invocations
16+
export PATH=
17+
18+
ec=0
19+
1220
# self check externals
1321
./cppcheck $selfcheck_options externals || ec=1
1422
# self check lib/cli
15-
mkdir b1
16-
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json frontend || ec=1
17-
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json -Ifrontend cli || ec=1
18-
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json --enable=internal lib || ec=1
23+
$mkdir_cmd b1
24+
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 $naming_options frontend || ec=1
25+
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 $naming_options -Ifrontend cli || ec=1
26+
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 $naming_options --enable=internal lib || ec=1
1927
# check gui with qt settings
20-
mkdir b2
21-
./cppcheck $selfcheck_options $cppcheck_options $gui_options --cppcheck-build-dir=b2 --addon=naming.json -Icmake.output/gui -Ifrontend -Igui gui/*.cpp cmake.output/gui || ec=1
28+
$mkdir_cmd b2
29+
./cppcheck $selfcheck_options $cppcheck_options $gui_options --cppcheck-build-dir=b2 $naming_options -Icmake.output/gui -Ifrontend -Igui gui/*.cpp cmake.output/gui || ec=1
2230
# self check test and tools
2331
./cppcheck $selfcheck_options $cppcheck_options -Ifrontend -Icli test/*.cpp || ec=1
2432
./cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1
2533
# triage
2634
./cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1
2735

28-
rm -rf b2
29-
rm -rf b1
36+
$rm_cmd -rf b2
37+
$rm_cmd -rf b1
3038

3139
exit $ec

selfcheck_san.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,32 @@ selfcheck_options="$selfcheck_options $selfcheck_options_extra"
88
cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
99
qt_options="--library=qt -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_MOC_HAS_STRINGDATA"
1010
qt_options="$qt_options --suppress=autoNoType:*/moc_*.cpp --suppress=symbolDatabaseWarning:*/moc_*.cpp"
11+
naming_options="--addon-python=$(command -v python) --addon=naming.json"
12+
13+
# clear PATH to prevent unintentional process invocations
14+
export PATH=
1115

1216
ec=0
1317

1418
$cmake_output/bin/cppcheck $selfcheck_options \
1519
externals \
1620
|| ec=1
1721

18-
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
19-
--addon=naming.json \
22+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $naming_options \
2023
frontend \
2124
|| ec=1
2225

23-
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
24-
--addon=naming.json \
26+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $naming_options \
2527
-Ifrontend \
2628
cli \
2729
|| ec=1
2830

29-
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options \
30-
--addon=naming.json \
31+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $naming_options \
3132
--enable=internal \
3233
lib \
3334
|| ec=1
3435

35-
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $qt_options \
36-
--addon=naming.json \
36+
$cmake_output/bin/cppcheck $selfcheck_options $cppcheck_options $naming_options $qt_options \
3737
--suppress=constVariablePointer:*/moc_*.cpp \
3838
-DQT_CHARTS_LIB \
3939
-I$cmake_output/gui -Ifrontend -Igui \

0 commit comments

Comments
 (0)