Class: Snapshot::TestCommandGeneratorBase
- Inherits:
-
Object
- Object
- Snapshot::TestCommandGeneratorBase
show all
- Defined in:
- snapshot/lib/snapshot/test_command_generator_base.rb
Class Method Summary
collapse
Class Method Details
.actions ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 55
def actions
actions = []
if Snapshot.config[:test_without_building]
actions << "test-without-building"
else
actions << :clean if Snapshot.config[:clean]
actions << :build actions << :test
end
return actions
end
|
.build_settings(language, locale) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 43
def build_settings(language, locale)
config = Snapshot.config
build_settings = []
build_settings << "FASTLANE_SNAPSHOT=YES"
build_settings << "FASTLANE_LANGUAGE=#{language}" if language
build_settings << "FASTLANE_LOCALE=#{locale}" if locale
build_settings << "TEST_TARGET_NAME=#{config[:test_target_name].shellescape}" if config[:test_target_name]
return build_settings
end
|
.derived_data_path ⇒ Object
94
95
96
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 94
def derived_data_path
Snapshot.cache[:derived_data_path] ||= (Snapshot.config[:derived_data_path] || Dir.mktmpdir("snapshot_derived"))
end
|
.destination(device_name) ⇒ Object
121
122
123
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 121
def destination(device_name)
not_implemented(__method__)
end
|
.device_udid(device_name, os_version = ) ⇒ Object
88
89
90
91
92
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 88
def device_udid(device_name, os_version = Snapshot.config[:ios_version])
device = find_device(device_name, os_version)
return device ? device.udid : nil
end
|
.find_device(device_name, os_version = ) ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 71
def find_device(device_name, os_version = Snapshot.config[:ios_version])
simulators = FastlaneCore::DeviceManager.simulators
name_matches = simulators.find_all { |sim| sim.name.strip == device_name.strip }
.sort_by { |sim| Gem::Version.new(sim.os_version) }
.reverse
return name_matches.find { |sim| sim.os_version == os_version } || name_matches.first
end
|
.initialize ⇒ Object
113
114
115
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 113
def initialize
not_implemented(__method__)
end
|
.options(language, locale) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 20
def options(language, locale)
config = Snapshot.config
result_bundle_path = resolve_result_bundle_path(language, locale) if config[:result_bundle]
options = []
options += project_path_array
options << "-sdk '#{config[:sdk]}'" if config[:sdk]
if derived_data_path && !options.include?("-derivedDataPath #{derived_data_path.shellescape}")
options << "-derivedDataPath #{derived_data_path.shellescape}"
end
options << "-resultBundlePath '#{result_bundle_path}'" if result_bundle_path
if FastlaneCore::Helper.xcode_at_least?(11)
options << "-testPlan '#{config[:testplan]}'" if config[:testplan]
end
options << config[:xcargs] if config[:xcargs]
options += config[:only_testing].map { |test_id| "-only-testing:#{test_id.shellescape}" } if config[:only_testing]
options += config[:skip_testing].map { |test_id| "-skip-testing:#{test_id.shellescape}" } if config[:skip_testing]
return options
end
|
.pipe(device_type, language, locale) ⇒ Object
117
118
119
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 117
def pipe(device_type, language, locale)
not_implemented(__method__)
end
|
.prefix ⇒ Object
7
8
9
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 7
def prefix
["set -o pipefail &&"]
end
|
.project_path_array ⇒ Array
Path to the project or workspace as parameter This will also include the scheme (if given)
14
15
16
17
18
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 14
def project_path_array
proj = Snapshot.project.xcodebuild_parameters
return proj if proj.count > 0
UI.user_error!("No project/workspace found")
end
|
.resolve_result_bundle_path(language, locale) ⇒ Object
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 98
def resolve_result_bundle_path(language, locale)
Snapshot.cache[:result_bundle_path] = {}
language_key = locale || language
unless Snapshot.cache[:result_bundle_path][language_key]
ext = FastlaneCore::Helper.xcode_at_least?(11) ? '.xcresult' : '.test_result'
path = File.join(Snapshot.config[:output_directory], "test_output", language_key, Snapshot.config[:scheme]) + ext
if File.directory?(path)
FileUtils.remove_dir(path)
end
Snapshot.cache[:result_bundle_path][language_key] = path
end
return Snapshot.cache[:result_bundle_path][language_key]
end
|
.suffix ⇒ Object
67
68
69
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 67
def suffix
return []
end
|
.xcodebuild_log_path(device_type: nil, language: nil, locale: nil) ⇒ Object
125
126
127
|
# File 'snapshot/lib/snapshot/test_command_generator_base.rb', line 125
def xcodebuild_log_path(device_type: nil, language: nil, locale: nil)
not_implemented(__method__)
end
|