[PATCH] D32556: [asan] Allow propagating env variables when testing on iOS Simulator

Kuba (Brecka) Mracek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 26 13:02:24 PDT 2017


kubamracek created this revision.
kubamracek added a project: Sanitizers.

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.


Repository:
  rL LLVM

https://reviews.llvm.org/D32556

Files:
  test/asan/TestCases/Darwin/scribble.cc
  test/lit.common.cfg


Index: test/lit.common.cfg
===================================================================
--- test/lit.common.cfg
+++ test/lit.common.cfg
@@ -96,14 +96,18 @@
 # 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)))
Index: test/asan/TestCases/Darwin/scribble.cc
===================================================================
--- test/asan/TestCases/Darwin/scribble.cc
+++ 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 <stdint.h>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32556.96807.patch
Type: text/x-patch
Size: 1915 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170426/407126fb/attachment.bin>


More information about the llvm-commits mailing list