class SimulatorUtil
Constants
- DEVICE_ALREADY_SHUTDOWN
- DEVICE_STATE_INVALID
Public Class Methods
boot_device(udid)
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 62 def self.boot_device(udid) process = CommandLineScript.new("xcrun simctl boot #{udid}") LoggerUtil.fatal("Could not boot up device: #{udid}") if process.exit_status.nonzero? && process.exit_status != DEVICE_STATE_INVALID end
devices()
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 39 def self.devices flattened_devices = [] devices_by_os.each do |os, devices| devices.each do |device| device['os'] = os flattened_devices << device end end flattened_devices end
devices_by_os()
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 27 def self.devices_by_os process = CommandLineScript.new('xcrun simctl list --json devices') json_string = '' process.stdout.each do |fragment| json_string += fragment end json = JSON.parse(json_string) json['devices'] end
devices_by_udid()
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 52 def self.devices_by_udid devices_by_udid = {} devices.each do |device| devices_by_udid[device['udid']] = device end devices_by_udid end
new()
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 24 def initialize end
reset_all_simulators()
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 84 def self.reset_all_simulators CommandLineScript.new('killall "Simulator"') CommandLineScript.new('killall "Simulator (Watch)"') process = CommandLineScript.new('xcrun simctl shutdown all') LoggerUtil.fatal('Could not shutdown all simulators') if process.exit_status.nonzero? process = CommandLineScript.new('xcrun simctl erase all') LoggerUtil.fatal('Could not erase all simulators') if process.exit_status.nonzero? end
reset_device(udid)
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 77 def self.reset_device(udid) process = CommandLineScript.new("xcrun simctl erase #{udid}") LoggerUtil.fatal("Could not reset device: #{udid}") if process.exit_status.nonzero? && process.exit_status != DEVICE_STATE_INVALID end
shutdown_device(udid)
click to toggle source
# File lib/jenkins_util/simulator_util.rb, line 69 def self.shutdown_device(udid) process = CommandLineScript.new("xcrun simctl shutdown #{udid}") LoggerUtil.fatal("Could not shutdown device: #{udid}") if process.exit_status.nonzero? && process.exit_status != DEVICE_STATE_INVALID && process.exit_status != DEVICE_ALREADY_SHUTDOWN end