ART: Add ASAN_OPTIONS to gtest rules
Add detect_leaks=1 to gtest run rules on the host.
Bug: 31098551
Test: m SANITZE_HOST=address test-art-host-gtest
Change-Id: Ie1a6dff1ebb3099df1f28e8e8dae230668f405de
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index b6d4ef6..5b5c10f 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -416,10 +416,13 @@
ART_TEST_HOST_GTEST_DEPENDENCIES += $$(gtest_deps)
+# Note: envsetup currently exports ASAN_OPTIONS=detect_leaks=0 to suppress leak detection, as some
+# build tools (e.g., ninja) intentionally leak. We want leak checks when we run our tests, so
+# override ASAN_OPTIONS. b/37751350
.PHONY: $$(gtest_rule)
$$(gtest_rule): $$(gtest_exe) $$(gtest_deps)
- $(hide) ($$(call ART_TEST_SKIP,$$@) && $$< && $$(call ART_TEST_PASSED,$$@)) \
- || $$(call ART_TEST_FAILED,$$@)
+ $(hide) ($$(call ART_TEST_SKIP,$$@) && ASAN_OPTIONS=detect_leaks=1 $$< && \
+ $$(call ART_TEST_PASSED,$$@)) || $$(call ART_TEST_FAILED,$$@)
ART_TEST_HOST_GTEST$$($(3)ART_PHONY_TEST_HOST_SUFFIX)_RULES += $$(gtest_rule)
ART_TEST_HOST_GTEST_RULES += $$(gtest_rule)