mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
37 lines
1.4 KiB
Python
Executable File
37 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
"""
|
|
Script to create and boot an iOS simulator, run a program in the simulator, and clean up.
|
|
"""
|
|
|
|
from __future__ import absolute_import, print_function
|
|
import argparse
|
|
import subprocess
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description="Run iOS Simulator")
|
|
parser.add_argument("--test",
|
|
required=True,
|
|
type=str,
|
|
help="Path to test and arguments to run on the simulator")
|
|
args = parser.parse_args()
|
|
|
|
print("Creating simulator")
|
|
# use subprocess.check_call() for tasks because it throws an exception on failure
|
|
subprocess.check_call(["xcrun", "simctl", "create", "mongo-sim", "com.apple.CoreSimulator.SimDeviceType.iPhone-7", "com.apple.CoreSimulator.SimRuntime.iOS-10-3"])
|
|
try:
|
|
print("Booting simulator")
|
|
subprocess.check_call(["xcrun", "simctl", "boot", "mongo-sim"])
|
|
|
|
print("Spawning test program in simulator")
|
|
|
|
# split args["test"] by spaces to get array of arguments
|
|
proc = subprocess.check_call(["xcrun", "simctl", "spawn", "mongo-sim"] + args.test.split())
|
|
print(proc)
|
|
finally:
|
|
print("Shutting down simulator")
|
|
# use subprocess.call() for shutdown tasks because they do not throw exceptions on failure
|
|
subprocess.call(["xcrun", "simctl", "shutdown", "mongo-sim"])
|
|
|
|
print("Erasing simulator")
|
|
subprocess.call(["xcrun", "simctl", "erase", "mongo-sim"])
|