Skip to content

Commit

Permalink
BaseTools/Plugin/HostBasedUnitTestRunner: Set ASAN env vars
Browse files Browse the repository at this point in the history
The environment variable `GTEST_CATCH_EXCEPTION` must be
set to `0` for so all exceptions are handled by the
address sanitizer and not GoogleTest. This allows stack
back trace and other details to be logged by the address
sanitizer so the source of the issue identified address
sanitizer can be determined.

The environment variable `ASAN_OPTIONS` must be set to
`detect_leaks=0` to disable memory leak detection. The
unit test frameworks may have memory leaks and some
firmware code under test use cases may perform a memory
allocation without a matching memory free as their
expected behavior.

Signed-off-by: Michael D Kinney <[email protected]>
  • Loading branch information
mdkinney committed Dec 6, 2024
1 parent c4d5be4 commit 056be99
Showing 1 changed file with 6 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ def do_post_build(self, thebuilder):

failure_count = 0

# Do not catch exceptions in gtest so they are handled by address sanitizer
shell_env.set_shell_var('GTEST_CATCH_EXCEPTIONS', '0')

# Disable address sanitizer memory leak detection
shell_env.set_shell_var('ASAN_OPTIONS', 'detect_leaks=0')

# Set up the reporting type for Cmocka.
shell_env.set_shell_var('CMOCKA_MESSAGE_OUTPUT', 'xml')

Expand Down

0 comments on commit 056be99

Please sign in to comment.