-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sanitizer build options #249
Conversation
d3fc211
to
d075d59
Compare
I put in a few more things into this PR, because I got annoyed that I couldn't run at least the tests that run successfully at the moment with sanitizers enabled. I will open an issue to keep track of the known test failures, so that we can start to hopefully enable more and more tests even in the sanitizer builds. Currently (almost) all of the "integration style" tests fail with any of the sanitizers, so they will all be ignored when run via In principle this now also makes it possible to add failing tests for issues with a reproducer and ignore them by default, but still be able to easily run them locally. |
d075d59
to
bcaa32f
Compare
please document the additions. thanks. |
- Add a list of possible sanitizers that can be used to build the whole of podio with the USE_SANITIZER option - At the moment only build podio but do not run the tests, since there are a few things that need to be fixed before they can be succesfully run with them - Add a workflow file that builds podio with clang and gcc with all available sanitizers for the respective toolchain
- Additionally make sure that we either use auto test discovery or run the complete executable, not both - Add an option to still run all the tests locally on demand
bcaa32f
to
bf03b36
Compare
BEGINRELEASENOTES
USE_SANITIZER
build option to more easily build podio with sanitizers for testing. CurentlyAddress
,Memory[WithOrigin]
,Undefined
andThread
are available as options. Given the limitations of the sanitizers these are more or less mutually exlusive.FORCE_RUN_ALL_TESTS
cmake option that overrides this for local development.ENDRELEASENOTES
cherry-picked from #188 (also present in #220)