diff options
author | Sybren A. Stüvel <sybren@blender.org> | 2020-07-16 18:22:58 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@blender.org> | 2020-07-16 18:38:29 +0300 |
commit | e7c1a32a7806977beb74f5d20c965949162b12b5 (patch) | |
tree | 885539e3820222bfbba42c05ee34f1700164b798 /tests | |
parent | a138bf57c994509c9dbd1ea79a6886c24cd5d0d9 (diff) |
Tests: disable ASAN when discovering tests
CMake, when it's configuring the project, runs the `blender_test` test
runner (if it exists from a previous build) to discover which tests it
contains. At this time none of the tests themselves are run, so it's not
that useful to run ASAN and have it break things when there are memory
leaks.
This commit disables ASAN by injecting `ASAN_OPTIONS="detect_leaks=0"` in
the environment variables.
It is not enough to use `set(ENV{ASAN_OPTIONS} "detect_leaks=0")` in
`tests/gtests/runner/CMakeLists.txt`, as it wouldn't be passed to the child
process.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gtests/runner/BlenderAddTests.cmake | 3 | ||||
-rw-r--r-- | tests/gtests/runner/CMakeLists.txt | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/tests/gtests/runner/BlenderAddTests.cmake b/tests/gtests/runner/BlenderAddTests.cmake new file mode 100644 index 00000000000..c4f5c8aba8a --- /dev/null +++ b/tests/gtests/runner/BlenderAddTests.cmake @@ -0,0 +1,3 @@ +# Disable ASAN leak detection when trying to discover tests. +set(ENV{ASAN_OPTIONS} "detect_leaks=0") +include(GoogleTestAddTests) diff --git a/tests/gtests/runner/CMakeLists.txt b/tests/gtests/runner/CMakeLists.txt index 7f28ede9ae9..4da0bce09a4 100644 --- a/tests/gtests/runner/CMakeLists.txt +++ b/tests/gtests/runner/CMakeLists.txt @@ -60,6 +60,11 @@ setup_liblinks(blender_test) # exposes those tests individually to the ctest runner. # See https://cmake.org/cmake/help/v3.18/module/GoogleTest.html include(GoogleTest) + +set(_GOOGLETEST_DISCOVER_TESTS_SCRIPT + ${CMAKE_CURRENT_LIST_DIR}/BlenderAddTests.cmake +) + gtest_discover_tests(blender_test # So that unit tests know where to find files: EXTRA_ARGS |