From 206c703e6176f035fbeb1eb5ab2054b4960a5b2c Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 5 Dec 2025 09:58:03 +0100 Subject: [PATCH 1/5] extracted selfcheck into script --- .github/workflows/CI-unixish.yml | 29 +---------------------------- selfcheck.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 28 deletions(-) create mode 100644 selfcheck.sh diff --git a/.github/workflows/CI-unixish.yml b/.github/workflows/CI-unixish.yml index 14682a41a56..6a7dad5fc9a 100644 --- a/.github/workflows/CI-unixish.yml +++ b/.github/workflows/CI-unixish.yml @@ -695,31 +695,4 @@ jobs: - name: Self check run: | - 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" - cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2" - gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt" - ec=0 - - # TODO: add --check-config - - # early exit - if [ $ec -eq 1 ]; then - exit $ec - fi - - # self check externals - ./cppcheck $selfcheck_options externals || ec=1 - # self check lib/cli - mkdir b1 - ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json frontend || ec=1 - ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json -Ifrontend cli || ec=1 - ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json --enable=internal lib || ec=1 - # check gui with qt settings - mkdir b2 - ./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 - # self check test and tools - ./cppcheck $selfcheck_options $cppcheck_options -Ifrontend -Icli test/*.cpp || ec=1 - ./cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1 - # triage - ./cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1 - exit $ec + ./selfcheck.sh diff --git a/selfcheck.sh b/selfcheck.sh new file mode 100644 index 00000000000..238434e7f34 --- /dev/null +++ b/selfcheck.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +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" +cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2" +gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt" +ec=0 + +# TODO: add --check-config + +# early exit +if [ $ec -eq 1 ]; then + exit $ec +fi + +# self check externals +./cppcheck $selfcheck_options externals || ec=1 +# self check lib/cli +mkdir b1 +./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json frontend || ec=1 +./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json -Ifrontend cli || ec=1 +./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json --enable=internal lib || ec=1 +# check gui with qt settings +mkdir b2 +./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 +# self check test and tools +./cppcheck $selfcheck_options $cppcheck_options -Ifrontend -Icli test/*.cpp || ec=1 +./cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1 +# triage +./cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1 +exit $ec \ No newline at end of file From afb0950fe1252a8e3f5ae9b4c0d9361ac6502bb7 Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 5 Dec 2025 09:58:48 +0100 Subject: [PATCH 2/5] selfcheck.sh: remove generated folders --- selfcheck.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/selfcheck.sh b/selfcheck.sh index 238434e7f34..eba0d6b2987 100644 --- a/selfcheck.sh +++ b/selfcheck.sh @@ -27,4 +27,8 @@ mkdir b2 ./cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/*.cpp || ec=1 # triage ./cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1 + +rm -rf b2 +rm -rf b1 + exit $ec \ No newline at end of file From f81b8b9462e2958de2276d908b15bf2683c633f6 Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 5 Dec 2025 09:59:30 +0100 Subject: [PATCH 3/5] selfcheck.sh: removed unnecessary early exit --- selfcheck.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/selfcheck.sh b/selfcheck.sh index eba0d6b2987..b6d10a2118b 100644 --- a/selfcheck.sh +++ b/selfcheck.sh @@ -7,11 +7,6 @@ ec=0 # TODO: add --check-config -# early exit -if [ $ec -eq 1 ]; then - exit $ec -fi - # self check externals ./cppcheck $selfcheck_options externals || ec=1 # self check lib/cli From 88b366c10f68a58facd45f69f07c5d1f6853ff7b Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 5 Dec 2025 10:01:28 +0100 Subject: [PATCH 4/5] selfcheck.sh: make it possible to pass additional flags --- selfcheck.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/selfcheck.sh b/selfcheck.sh index b6d10a2118b..6a1755e337b 100644 --- a/selfcheck.sh +++ b/selfcheck.sh @@ -5,7 +5,9 @@ cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppchec gui_options="-DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt" ec=0 -# TODO: add --check-config +if [ -n "$1" ]; then + selfcheck_options="$selfcheck_options $1" +fi # self check externals ./cppcheck $selfcheck_options externals || ec=1 From a0e095e192677b229d238983a02850d6d2091ec5 Mon Sep 17 00:00:00 2001 From: firewave Date: Wed, 11 Feb 2026 12:51:19 +0100 Subject: [PATCH 5/5] selfcheck.sh: added executable flag --- selfcheck.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 selfcheck.sh diff --git a/selfcheck.sh b/selfcheck.sh old mode 100644 new mode 100755