Adapt TestCustomShell and TestMultipleDebuggers to run under ASAN
authorAugusto Noronha <augusto2112@me.com>
Fri, 10 Feb 2023 19:21:14 +0000 (11:21 -0800)
committerAugusto Noronha <augusto2112@me.com>
Sat, 11 Feb 2023 01:19:21 +0000 (17:19 -0800)
In situations where only LLDB is ASANified, a false positive occurs
unless ASAN_OPTIONS=detect_container_overflow=0 is set in the
environment.

Differential Revision: https://reviews.llvm.org/D143772

lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
lldb/test/Shell/Host/TestCustomShell.test

index da7445f..07e668c 100644 (file)
@@ -15,7 +15,9 @@ class TestMultipleSimultaneousDebuggers(TestBase):
     @skipIfNoSBHeaders
     @skipIfWindows
     def test_multiple_debuggers(self):
-        env = {self.dylibPath: self.getLLDBLibraryEnvVal()}
+        env = {self.dylibPath: self.getLLDBLibraryEnvVal(),
+              # We need this in order to run under ASAN, in case only LLDB is ASANified.
+              'ASAN_OPTIONS': os.getenv('ASAN_OPTIONS', None)}
 
         self.driver_exe = self.getBuildArtifact("multi-process-driver")
         self.buildDriver('multi-process-driver.cpp', self.driver_exe)
index 61094ec..0e948a1 100644 (file)
@@ -7,7 +7,7 @@
 
 # RUN: %clang_host %S/Inputs/simple.c -g -o %t.out
 # RUN: SHELL=bogus not %lldb %t.out -b -o 'process launch -X 1 --' 2>&1 | FileCheck %s --check-prefix ERROR
-# RUN: env -i %lldb %t.out -b -o 'process launch -X 1 --' 2>&1 | FileCheck %s
+# RUN: env -i ASAN_OPTIONS='detect_container_overflow=0' %lldb %t.out -b -o 'process launch -X 1 --' 2>&1 | FileCheck %s
 
 # ERROR: error: shell expansion failed
 # CHECK-NOT: error: shell expansion failed