run_loop_tcc 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/bin/run-loop +19 -0
- data/lib/run_loop/abstract.rb +18 -0
- data/lib/run_loop/app.rb +372 -0
- data/lib/run_loop/cache/cache.rb +68 -0
- data/lib/run_loop/cli/cli.rb +48 -0
- data/lib/run_loop/cli/codesign.rb +24 -0
- data/lib/run_loop/cli/errors.rb +11 -0
- data/lib/run_loop/cli/instruments.rb +160 -0
- data/lib/run_loop/cli/locale.rb +31 -0
- data/lib/run_loop/cli/simctl.rb +257 -0
- data/lib/run_loop/cli/tcc.rb +139 -0
- data/lib/run_loop/codesign.rb +76 -0
- data/lib/run_loop/core.rb +902 -0
- data/lib/run_loop/core_simulator.rb +960 -0
- data/lib/run_loop/detect_aut/detect.rb +185 -0
- data/lib/run_loop/detect_aut/errors.rb +126 -0
- data/lib/run_loop/detect_aut/xamarin_studio.rb +46 -0
- data/lib/run_loop/detect_aut/xcode.rb +157 -0
- data/lib/run_loop/device.rb +722 -0
- data/lib/run_loop/device_agent/app/CBX-Runner.app.zip +0 -0
- data/lib/run_loop/device_agent/bin/xctestctl +0 -0
- data/lib/run_loop/device_agent/cbxrunner.rb +156 -0
- data/lib/run_loop/device_agent/frameworks/Frameworks.zip +0 -0
- data/lib/run_loop/device_agent/frameworks.rb +65 -0
- data/lib/run_loop/device_agent/ipa/CBX-Runner.app.zip +0 -0
- data/lib/run_loop/device_agent/launcher.rb +51 -0
- data/lib/run_loop/device_agent/xcodebuild.rb +91 -0
- data/lib/run_loop/device_agent/xctestctl.rb +109 -0
- data/lib/run_loop/directory.rb +179 -0
- data/lib/run_loop/dnssd.rb +148 -0
- data/lib/run_loop/dot_dir.rb +87 -0
- data/lib/run_loop/dylib_injector.rb +145 -0
- data/lib/run_loop/encoding.rb +56 -0
- data/lib/run_loop/environment.rb +361 -0
- data/lib/run_loop/fifo.rb +40 -0
- data/lib/run_loop/host_cache.rb +128 -0
- data/lib/run_loop/http/error.rb +15 -0
- data/lib/run_loop/http/request.rb +44 -0
- data/lib/run_loop/http/retriable_client.rb +166 -0
- data/lib/run_loop/http/server.rb +17 -0
- data/lib/run_loop/instruments.rb +436 -0
- data/lib/run_loop/ipa.rb +142 -0
- data/lib/run_loop/l10n.rb +93 -0
- data/lib/run_loop/language.rb +63 -0
- data/lib/run_loop/lipo.rb +132 -0
- data/lib/run_loop/lldb.rb +52 -0
- data/lib/run_loop/locale.rb +101 -0
- data/lib/run_loop/logging.rb +111 -0
- data/lib/run_loop/otool.rb +76 -0
- data/lib/run_loop/patches/awesome_print.rb +17 -0
- data/lib/run_loop/physical_device/life_cycle.rb +268 -0
- data/lib/run_loop/plist_buddy.rb +189 -0
- data/lib/run_loop/process_terminator.rb +128 -0
- data/lib/run_loop/process_waiter.rb +117 -0
- data/lib/run_loop/regex.rb +19 -0
- data/lib/run_loop/shell.rb +103 -0
- data/lib/run_loop/sim_control.rb +1264 -0
- data/lib/run_loop/simctl.rb +275 -0
- data/lib/run_loop/sqlite.rb +61 -0
- data/lib/run_loop/strings.rb +88 -0
- data/lib/run_loop/tcc/TCC.db +0 -0
- data/lib/run_loop/tcc/tcc.rb +240 -0
- data/lib/run_loop/template.rb +61 -0
- data/lib/run_loop/version.rb +182 -0
- data/lib/run_loop/xcode.rb +318 -0
- data/lib/run_loop/xcrun.rb +107 -0
- data/lib/run_loop/xcuitest.rb +550 -0
- data/lib/run_loop.rb +230 -0
- data/plists/simctl/com.apple.UIAutomation.plist +0 -0
- data/plists/simctl/com.apple.UIAutomationPlugIn.plist +0 -0
- data/scripts/calabash_script_uia.js +28184 -0
- data/scripts/lib/json2.min.js +26 -0
- data/scripts/lib/log.js +26 -0
- data/scripts/lib/on_alert.js +224 -0
- data/scripts/read-cmd.sh +2 -0
- data/scripts/run_dismiss_location.js +89 -0
- data/scripts/run_loop_basic.js +34 -0
- data/scripts/run_loop_fast_uia.js +188 -0
- data/scripts/run_loop_host.js +117 -0
- data/scripts/run_loop_shared_element.js +125 -0
- data/scripts/timeout3 +23 -0
- data/scripts/udidetect +0 -0
- data/vendor-licenses/FBSimulatorControl.LICENSE +30 -0
- data/vendor-licenses/xctestctl.LICENSE +32 -0
- metadata +443 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
module RunLoop
|
2
|
+
|
3
|
+
# @!visibility private
|
4
|
+
module Regex
|
5
|
+
|
6
|
+
# @!visibility private
|
7
|
+
CORE_SIMULATOR_UDID_REGEX = /[A-F0-9]{8}-([A-F0-9]{4}-){3}[A-F0-9]{12}/.freeze
|
8
|
+
|
9
|
+
# @!visibility private
|
10
|
+
XCODE_511_SIMULATOR_REGEX = /(\d)\.(\d)\.?(\d)?(-64)?/.freeze
|
11
|
+
|
12
|
+
# @!visibility private
|
13
|
+
DEVICE_UDID_REGEX = /[a-f0-9]{40}/.freeze
|
14
|
+
|
15
|
+
# @!visibility private
|
16
|
+
VERSION_REGEX = /(\d\.\d(\.\d)?)/.freeze
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
module RunLoop
|
2
|
+
module Shell
|
3
|
+
|
4
|
+
require "command_runner"
|
5
|
+
require "run_loop/encoding"
|
6
|
+
include RunLoop::Encoding
|
7
|
+
|
8
|
+
# Controls the behavior of Shell#run_shell_command.
|
9
|
+
#
|
10
|
+
# You can override these values if they do not work in your environment.
|
11
|
+
#
|
12
|
+
# For cucumber users, the best place to override would be in your
|
13
|
+
# features/support/env.rb.
|
14
|
+
#
|
15
|
+
# For example:
|
16
|
+
#
|
17
|
+
# RunLoop::Shell::DEFAULT_OPTIONS[:timeout] = 60
|
18
|
+
DEFAULT_OPTIONS = {
|
19
|
+
:timeout => 30,
|
20
|
+
:log_cmd => false
|
21
|
+
}
|
22
|
+
|
23
|
+
# Raised when shell command fails.
|
24
|
+
class Error < RuntimeError; end
|
25
|
+
|
26
|
+
# Raised when shell command times out.
|
27
|
+
class TimeoutError < RuntimeError; end
|
28
|
+
|
29
|
+
def run_shell_command(args, options={})
|
30
|
+
|
31
|
+
merged_options = DEFAULT_OPTIONS.merge(options)
|
32
|
+
|
33
|
+
timeout = merged_options[:timeout]
|
34
|
+
|
35
|
+
unless args.is_a?(Array)
|
36
|
+
raise ArgumentError,
|
37
|
+
"Expected args '#{args}' to be an Array, but found '#{args.class}'"
|
38
|
+
end
|
39
|
+
|
40
|
+
args.each do |arg|
|
41
|
+
unless arg.is_a?(String)
|
42
|
+
raise ArgumentError,
|
43
|
+
%Q{Expected arg '#{arg}' to be a String, but found '#{arg.class}'
|
44
|
+
IO.popen requires all arguments to be Strings.
|
45
|
+
}
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
cmd = "#{args.join(' ')}"
|
50
|
+
|
51
|
+
# Don't see your log?
|
52
|
+
# Commands are only logged when debugging.
|
53
|
+
RunLoop.log_unix_cmd(cmd) if merged_options[:log_cmd]
|
54
|
+
|
55
|
+
hash = {}
|
56
|
+
|
57
|
+
begin
|
58
|
+
|
59
|
+
start_time = Time.now
|
60
|
+
command_output = CommandRunner.run(args, timeout: timeout)
|
61
|
+
|
62
|
+
out = ensure_command_output_utf8(command_output[:out], cmd)
|
63
|
+
process_status = command_output[:status]
|
64
|
+
|
65
|
+
hash =
|
66
|
+
{
|
67
|
+
:out => out,
|
68
|
+
:pid => process_status.pid,
|
69
|
+
# nil if process was killed before completion
|
70
|
+
:exit_status => process_status.exitstatus
|
71
|
+
}
|
72
|
+
|
73
|
+
rescue RunLoop::Encoding::UTF8Error => e
|
74
|
+
raise e
|
75
|
+
rescue => e
|
76
|
+
elapsed = "%0.2f" % (Time.now - start_time)
|
77
|
+
raise Error,
|
78
|
+
%Q{Encountered an error after #{elapsed} seconds:
|
79
|
+
|
80
|
+
#{e.message}
|
81
|
+
|
82
|
+
executing this command:
|
83
|
+
|
84
|
+
#{cmd}
|
85
|
+
}
|
86
|
+
end
|
87
|
+
|
88
|
+
if hash[:exit_status].nil?
|
89
|
+
elapsed = "%0.2f" % (Time.now - start_time)
|
90
|
+
raise TimeoutError,
|
91
|
+
%Q{Timed out after #{elapsed} seconds executing
|
92
|
+
|
93
|
+
#{cmd}
|
94
|
+
|
95
|
+
with a timeout of #{timeout}
|
96
|
+
}
|
97
|
+
end
|
98
|
+
|
99
|
+
hash
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|