(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -ne]} {[LIT_CHARS 4]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage RunTests "]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('SIMULATOR_RUNNING', {[ComSub (Com {[LIT_CHARS osascript]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "tell application "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "System Events"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " to (name of processes) contains "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "iOS Simulator"][\ LIT_ESCAPED_CHAR "\\\""]]})]})]) (= scope= flags=0 words=[] bindings=[('TEST_DEVICE_ID', {[ComSub (Com {[LIT_CHARS xcrun]} {[LIT_CHARS simctl]} {[LIT_CHARS create]} {[LIT_CHARS TestDevice]} {[LIT_CHARS com.apple.CoreSimulator.SimDeviceType.iPhone-6]} {[LIT_CHARS com.apple.CoreSimulator.SimRuntime.iOS-8-3]})]})]) (Fork (Com {[LIT_CHARS xcrun]} {[LIT_CHARS instruments]} {[LIT_CHARS -w]} {[VarSub TEST_DEVICE_ID]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS true]}) ) (Com {[LIT_CHARS xcrun]} {[LIT_CHARS simctl]} {[LIT_CHARS install]} {[VarSub TEST_DEVICE_ID]} {[VarSub 1]}) (= scope= flags=0 words=[] bindings=[('PLATFORM_PATH', {[DQ [ComSub (Com {[LIT_CHARS xcrun]} {[LIT_CHARS --sdk]} {[LIT_CHARS iphonesimulator]} {[LIT_CHARS --show-sdk-platform-path]})]]})]) (= scope= flags=1 words=[] bindings=[('SIMCTL_CHILD_DYLD_INSERT_LIBRARIES', {[DQ [VarSub PLATFORM_PATH][LIT_CHARS "/Developer/Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection:"][VarSub 4]]})]) (= scope= flags=1 words=[] bindings=[('SIMCTL_CHILD_GSTDERR', {[DQ [VarSub 3]]})]) (= scope= flags=1 words=[] bindings=[('SIMCTL_CHILD_XCInjectBundle', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('BUNDLE_BASE', {[ComSub (Com {[LIT_CHARS basename]} {[VarSub 1]})]})]) (= scope= flags=0 words=[] bindings=[('BUNDLE_INFO_PLIST', {[DQ [VarSub 1][LIT_CHARS /Info.plist]]})]) (= scope= flags=0 words=[] bindings=[('EXECUTABLE_NAME', {[ComSub (Com {[LIT_CHARS xcrun]} {[LIT_CHARS PlistBuddy]} {[LIT_CHARS -c]} {[DQ [LIT_CHARS "Print :CFBundleExecutable"]]} {[DQ [VarSub BUNDLE_INFO_PLIST]]})]})]) (= scope= flags=0 words=[] bindings=[('BUNDLE_ID', {[ComSub (Com {[LIT_CHARS xcrun]} {[LIT_CHARS PlistBuddy]} {[LIT_CHARS -c]} {[DQ [LIT_CHARS "Print :CFBundleIdentifier"]]} {[DQ [VarSub BUNDLE_INFO_PLIST]]})]})]) (= scope= flags=1 words=[] bindings=[('SIMCTL_CHILD_XCInjectBundleInto', {[DQ [VarSub HOME][LIT_CHARS /Library/Developer/CoreSimulator/Devices/][VarSub TEST_DEVICE_ID][LIT_CHARS "/data/Containers/Bundle/Application/*/"][VarSub BUNDLE_BASE][LIT_CHARS /][VarSub EXECUTABLE_NAME]]})]) (= scope= flags=1 words=[] bindings=[('SIMCTL_CHILD_DYLD_FALLBACK_FRAMEWORK_PATH', {[DQ [VarSub PLATFORM_PATH][LIT_CHARS /Developer/Library/Frameworks]]})]) (= scope= flags=0 words=[] bindings=[('IOS_PID', {[ComSub (Com {[LIT_CHARS xcrun]} {[LIT_CHARS simctl]} {[LIT_CHARS launch]} {[VarSub TEST_DEVICE_ID]} {[DQ [VarSub BUNDLE_ID]]} {[LIT_CHARS -XCTest]} {[LIT_CHARS All]})]})]) (= scope= flags=0 words=[] bindings=[('IOS_PID', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub IOS_PID]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (While (List (Fork (Com {[LIT_CHARS kill]} {[LIT_CHARS -0]} {[DQ [VarSub IOS_PID]]}) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 0.5]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub SIMULATOR_RUNNING]]} {[LIT_OTHER "="]} {[LIT_CHARS false]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS osascript]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "tell application "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "iOS Simulator"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " to quit"]]}) ) (Com {[LIT_CHARS xcrun]} {[LIT_CHARS simctl]} {[LIT_CHARS delete]} {[VarSub TEST_DEVICE_ID]}) )