diff --git a/compiler-rt/test/sanitizer_common/ios_commands/iossim_env.py b/compiler-rt/test/sanitizer_common/ios_commands/iossim_env.py index 57a01f3852b06..ddc260fa61644 100755 --- a/compiler-rt/test/sanitizer_common/ios_commands/iossim_env.py +++ b/compiler-rt/test/sanitizer_common/ios_commands/iossim_env.py @@ -5,13 +5,13 @@ idx = 1 for arg in sys.argv[1:]: - if not "=" in arg: - break - idx += 1 - (argname, argval) = arg.split("=") - os.environ["SIMCTL_CHILD_" + argname] = argval + if not "=" in arg: + break + idx += 1 + (argname, argval) = arg.split("=", maxsplit=1) + os.environ["SIMCTL_CHILD_" + argname] = argval exitcode = subprocess.call(sys.argv[idx:]) if exitcode > 125: - exitcode = 126 + exitcode = 126 sys.exit(exitcode) diff --git a/compiler-rt/test/sanitizer_common/ios_commands/iossim_run.py b/compiler-rt/test/sanitizer_common/ios_commands/iossim_run.py index 5e977ea5ed908..ec394067dc7a5 100755 --- a/compiler-rt/test/sanitizer_common/ios_commands/iossim_run.py +++ b/compiler-rt/test/sanitizer_common/ios_commands/iossim_run.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import glob, os, pipes, sys, subprocess +import glob, os, shlex, sys, subprocess device_id = os.environ.get("SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER") @@ -21,8 +21,11 @@ "ASAN_ACTIVATION_OPTIONS", "MallocNanoZone", ]: - if e in os.environ: - os.environ["SIMCTL_CHILD_" + e] = os.environ[e] + simctl_version = "SIMCTL_CHILD_" + e + # iossim_env.py might have already set these using arguments it was given + # (and that we can't see from inside this script). Don't overwrite them! + if e in os.environ and simctl_version not in os.environ: + os.environ[simctl_version] = os.environ[e] find_atos_cmd = "xcrun -sdk iphonesimulator -f atos" atos_path = ( @@ -49,8 +52,7 @@ # Don't quote glob pattern rm_args.append(arg) else: - # FIXME(dliew): pipes.quote() is deprecated - rm_args.append(pipes.quote(arg)) + rm_args.append(shlex.quote(arg)) rm_cmd_line = ["/bin/rm"] + rm_args rm_cmd_line_str = " ".join(rm_cmd_line) # We use `shell=True` so that any wildcard globs get expanded by the shell. diff --git a/compiler-rt/test/sanitizer_common/lit.common.cfg.py b/compiler-rt/test/sanitizer_common/lit.common.cfg.py index c3c1336bacd53..88d3ea9bc5ad2 100644 --- a/compiler-rt/test/sanitizer_common/lit.common.cfg.py +++ b/compiler-rt/test/sanitizer_common/lit.common.cfg.py @@ -87,7 +87,7 @@ def build_invocation(compile_flags): config.substitutions.append(("%tool_name", config.tool_name)) config.substitutions.append(("%tool_options", tool_options)) config.substitutions.append( - ("%env_tool_opts=", "env " + tool_options + "=" + default_tool_options_str) + ("%env_tool_opts=", "%env " + tool_options + "=" + default_tool_options_str) ) config.suffixes = [".c", ".cpp"]