From: Kuba Mracek Date: Wed, 26 Apr 2017 20:38:24 +0000 (+0000) Subject: [asan] Allow propagating env variables when testing on iOS Simulator X-Git-Tag: llvmorg-5.0.0-rc1~6600 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=74233bed59a47cd9cf52adb0a22c4dcee38dc5fb;p=platform%2Fupstream%2Fllvm.git [asan] Allow propagating env variables when testing on iOS Simulator This patch adds "%env" as a way to express that the environment variable should be set on the target device/simulator. This fixes some test failures when testing on iOS/Simulator. Differential Revision: https://reviews.llvm.org/D32556 llvm-svn: 301462 --- diff --git a/compiler-rt/test/asan/TestCases/Darwin/scribble.cc b/compiler-rt/test/asan/TestCases/Darwin/scribble.cc index 0ddee6b..8303cf3 100644 --- a/compiler-rt/test/asan/TestCases/Darwin/scribble.cc +++ b/compiler-rt/test/asan/TestCases/Darwin/scribble.cc @@ -1,6 +1,6 @@ // RUN: %clang_asan -O2 %s -o %t // RUN: %run %t 2>&1 | FileCheck --check-prefix=CHECK-NOSCRIBBLE %s -// RUN: env MallocScribble=1 MallocPreScribble=1 %run %t 2>&1 | FileCheck --check-prefix=CHECK-SCRIBBLE %s +// RUN: %env MallocScribble=1 MallocPreScribble=1 %run %t 2>&1 | FileCheck --check-prefix=CHECK-SCRIBBLE %s // RUN: %env_asan_opts=max_free_fill_size=4096 %run %t 2>&1 | FileCheck --check-prefix=CHECK-SCRIBBLE %s #include diff --git a/compiler-rt/test/lit.common.cfg b/compiler-rt/test/lit.common.cfg index 2f0dd63..cca41a0 100644 --- a/compiler-rt/test/lit.common.cfg +++ b/compiler-rt/test/lit.common.cfg @@ -96,14 +96,18 @@ config.substitutions.append( # Allow tests to be executed on a simulator or remotely. if config.emulator: config.substitutions.append( ('%run', config.emulator) ) + config.substitutions.append( ('%env ', "env ") ) elif config.ios: device_id_env = "SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER" if config.iossim else "SANITIZER_IOS_TEST_DEVICE_IDENTIFIER" if device_id_env in os.environ: config.environment[device_id_env] = os.environ[device_id_env] ios_commands_dir = os.path.join(config.compiler_rt_src_root, "test", "sanitizer_common", "ios_commands") run_wrapper = os.path.join(ios_commands_dir, "iossim_run.py" if config.iossim else "ios_run.py") config.substitutions.append(('%run', run_wrapper)) + env_wrapper = os.path.join(ios_commands_dir, "iossim_env.py" if config.iossim else "ios_env.py") + config.substitutions.append(('%env ', env_wrapper + " ")) else: config.substitutions.append( ('%run', "") ) + config.substitutions.append( ('%env ', "env ") ) # Define CHECK-%os to check for OS-dependent output. config.substitutions.append( ('CHECK-%os', ("CHECK-" + config.host_os)))