Add valgrind run for cppcheck / self-check#3022
Add valgrind run for cppcheck / self-check#3022amai2012 wants to merge 4 commits intodanmar:mainfrom
Conversation
|
See #3017 |
.github/workflows/valgrind.yml
Outdated
| CXXFLAGS="-O1 -g" make -j$(nproc) testrunner USE_Z3=yes HAVE_RULES=yes MATCHCOMPILER=yes | ||
|
|
||
| - name: Run valgrind | ||
| CXXFLAGS="-O1 -g" make -j$(nproc) USE_Z3=yes HAVE_RULES=yes MATCHCOMPILER=yes CPPFLAGS="-DCHECK_INTERNAL" |
There was a problem hiding this comment.
The regular self-check build also has VERIFY=1.
|
FYI valgrind errors will currently not fail the build because of a bug in the ThreadExecutor. I am preparing a PR. See #3023 |
.github/workflows/valgrind.yml
Outdated
| run: | | ||
| valgrind --error-limit=yes --leak-check=full --num-callers=50 --show-reachable=yes --track-origins=yes --suppressions=valgrind/testrunner.supp --gen-suppressions=all --log-fd=9 --error-exitcode=42 ./testrunner TestGarbage TestOther TestSimplifyTemplate 9>memcheck.log | ||
| cat memcheck.log | ||
| valgrind --error-limit=yes --leak-check=full --num-callers=50 --show-reachable=yes --track-origins=yes --gen-suppressions=all --log-fd=9 --error-exitcode=42 ./cppcheck --enable=style,performance,portability,warning,internal --exception-handling --debug-warnings cli lib 9>memcheck_cppcheck.log |
There was a problem hiding this comment.
You are lacking -D__CPPCHECK__ --error-exitcode=1 --inline-suppr --suppressions-list=.travis_suppressions --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2/ -Icli --inconclusive for the Cppcheck execution.
There was a problem hiding this comment.
Forgot another one. Still lacking --template=selfcheck - please rebase to get that and having the build actually fail on an error as #3023 was merged.
We should put the options for the self-check in an external file. Those parameters are (largely) used in multiple places right now and we will most likely have more usages added in the future. With a single place we would make sure all of them are actually in sync. Just having a variable somewhere in the actions would be enough as a start.
When I want to test it locally I always have to copy it out of the YAML file. So having it available from the command-line would be helpful as well.
|
@firewave I think the full self-check in sync with other builds is way too slow... |
We should at least have the full job together so we can either trigger it manually or on a schedule for now - https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onschedule If it is working and we know how long it takes we can still optimize and/or integrate a subset into the triggered build - like just running the |
|
I published #8232 which implements this in |
No description provided.