[compiler-rt] Use --standalone when running tests on the iOS simulator

We can use `simctl spawn --standalone` to enable running tests without
the need for an already-booted simulator instance.  This also side-steps
the problem of not having a good place to shutdown the instance after
we are finished with testing.

rdar://58118442

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D78409
This commit is contained in:
Julian Lettner 2020-04-17 17:09:33 -07:00
parent 2737362e7a
commit a54e18df0a
2 changed files with 1 additions and 14 deletions

View File

@ -1,18 +1,5 @@
#!/usr/bin/python
import json
import os
import subprocess
device_id = os.environ.get('SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER')
if not device_id:
raise EnvironmentError('Specify SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER to select which simulator to use.')
DEVNULL = open(os.devnull, 'w')
subprocess.call(['xcrun', 'simctl', 'shutdown', device_id], stderr=DEVNULL)
subprocess.check_call(['xcrun', 'simctl', 'boot', device_id])
# TODO(rdar58118442): we start the simulator here, but we never tear it down
print(json.dumps({"env": {}}))

View File

@ -29,7 +29,7 @@ if prog == 'rm':
# We use `shell=True` so that any wildcard globs get expanded by the shell.
exitcode = subprocess.call(rm_cmd_line_str, shell=True)
else:
exitcode = subprocess.call(["xcrun", "simctl", "spawn", device_id] + sys.argv[1:])
exitcode = subprocess.call(["xcrun", "simctl", "spawn", "--standalone", device_id] + sys.argv[1:])
if exitcode > 125:
exitcode = 126
sys.exit(exitcode)