Improve Test Suite Assertion Failure Handling When Using Sanitizers - #68
Open
kilo52 wants to merge 1 commit into
Open
Improve Test Suite Assertion Failure Handling When Using Sanitizers#68kilo52 wants to merge 1 commit into
kilo52 wants to merge 1 commit into
Conversation
Added a standard Unity unity_config.h configuration header file that defines the UNITY_TEST_ABORT macro. The macro simply sets a global boolean flag and continues with the default Unity behaviour when a test assertion fails. Added the __lsan_is_turned_off() ASAN hook function to check the global flag and, if set, disable LSAN for the test run. This is so that when executing the test suite with sanitizer support enabled, regular test assertion failures are reported over memory leaks detected by ASAN. This is because a failed test assertion might result in cleanup code, usually located at the end of a test function, to not be executed, effectively triggering a spurious memory leak error. [CL]: Improved test suite assertion failure handling when using sanitizers. [Issue#67] Signed-off-by: Phil Gaiser <phil.gaiser@raven-computing.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a standard Unity
unity_config.hconfiguration header file that defines theUNITY_TEST_ABORTmacro. The macro simply sets a global boolean flag and continues with the default Unity behaviour when a test assertion fails.Adds the
__lsan_is_turned_off()ASAN hook function to check the global flag and, if set, disable LSAN for the test run.This is so that when executing the test suite with sanitizer support enabled, regular test assertion failures are reported over memory leaks detected by ASAN. This is because a failed test assertion might result in cleanup code, usually located at the end of a test function, to not be executed, effectively triggering a spurious memory leak error.