fastlane-plugin-test_center 3.5.11 → 3.6.0
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 +4 -4
- data/lib/fastlane/plugin/test_center/actions/collate_junit_reports.rb +8 -1
- data/lib/fastlane/plugin/test_center/actions/multi_scan.rb +11 -1
- data/lib/fastlane/plugin/test_center/actions/tests_from_xctestrun.rb +6 -1
- data/lib/fastlane/plugin/test_center/helper/correcting_scan_helper.rb +4 -0
- data/lib/fastlane/plugin/test_center/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2a688442d7c22abd139e2583a4b600c54e9c7356
|
|
4
|
+
data.tar.gz: 27d86d455364da619ac764308ce9476852405777
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aba572c09e76dddc65f9461814c9a97a0027045ead381c239fd38df3b30511b39b530d42f60087bead97c39d94cd367645aa025be047a9bf6b28251b0572c2c8
|
|
7
|
+
data.tar.gz: 7e127db0cd2bd998b3f2e72bf09111fad7c1f5c5acb12e296a91f6c1f1e47a71ee27671ebd2d0242457f4c720268b90641e93175290026c6feb83069b5254f12
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module Fastlane
|
|
2
2
|
module Actions
|
|
3
3
|
class CollateJunitReportsAction < Action
|
|
4
|
+
|
|
4
5
|
def self.run(params)
|
|
5
6
|
report_filepaths = params[:reports]
|
|
6
7
|
if report_filepaths.size == 1
|
|
@@ -8,9 +9,9 @@ module Fastlane
|
|
|
8
9
|
else
|
|
9
10
|
UI.verbose("collate_junit_reports with #{report_filepaths}")
|
|
10
11
|
reports = report_filepaths.map { |report_filepath| REXML::Document.new(File.new(report_filepath)) }
|
|
11
|
-
|
|
12
12
|
# copy any missing testsuites
|
|
13
13
|
target_report = reports.shift
|
|
14
|
+
target_report.root.attributes['retries'] = reports.size.to_s
|
|
14
15
|
preprocess_testsuites(target_report)
|
|
15
16
|
|
|
16
17
|
reports.each do |report|
|
|
@@ -97,6 +98,7 @@ module Fastlane
|
|
|
97
98
|
UI.verbose(" collate_testsuite with testcase #{name}")
|
|
98
99
|
UI.verbose(" replacing \"#{target_testcase}\" with \"#{testcase}\"")
|
|
99
100
|
parent = target_testcase.parent
|
|
101
|
+
increment_testcase_tries(target_testcase, testcase) unless testcase.root == target_testcase.root
|
|
100
102
|
parent.insert_after(target_testcase, testcase)
|
|
101
103
|
parent.delete_element(target_testcase)
|
|
102
104
|
UI.verbose("")
|
|
@@ -107,6 +109,11 @@ module Fastlane
|
|
|
107
109
|
end
|
|
108
110
|
end
|
|
109
111
|
|
|
112
|
+
def self.increment_testcase_tries(target_testcase, testcase)
|
|
113
|
+
try_count = target_testcase.attributes['retries']
|
|
114
|
+
testcase.attributes['retries'] = (try_count.to_i + 1).to_s
|
|
115
|
+
end
|
|
116
|
+
|
|
110
117
|
def self.update_testable_counts(testable)
|
|
111
118
|
testsuites = REXML::XPath.match(testable, 'testsuite')
|
|
112
119
|
test_count = 0
|
|
@@ -10,7 +10,7 @@ module Fastlane
|
|
|
10
10
|
def self.run(params)
|
|
11
11
|
unless Helper.test?
|
|
12
12
|
FastlaneCore::PrintTable.print_values(
|
|
13
|
-
config: params._values.select { |k, _| %i[try_count batch_count fail_build].include?(k) },
|
|
13
|
+
config: params._values.select { |k, _| %i[try_count batch_count fail_build quit_simulators].include?(k) },
|
|
14
14
|
title: "Summary for multi_scan (test_center v#{Fastlane::TestCenter::VERSION})"
|
|
15
15
|
)
|
|
16
16
|
end
|
|
@@ -84,6 +84,7 @@ module Fastlane
|
|
|
84
84
|
options_to_remove = %i[
|
|
85
85
|
try_count
|
|
86
86
|
batch_count
|
|
87
|
+
quit_simulators
|
|
87
88
|
testrun_completed_block
|
|
88
89
|
test_without_building
|
|
89
90
|
output_types
|
|
@@ -155,6 +156,15 @@ module Fastlane
|
|
|
155
156
|
UI.user_error!("Error: Batch counts must be greater than zero") unless count > 0
|
|
156
157
|
end
|
|
157
158
|
),
|
|
159
|
+
FastlaneCore::ConfigItem.new(
|
|
160
|
+
key: :quit_simulators,
|
|
161
|
+
env_name: "FL_MULTI_SCAN_QUIT_SIMULATORS",
|
|
162
|
+
description: "If the simulators need to be killed before run the tests",
|
|
163
|
+
type: Boolean,
|
|
164
|
+
is_string: false,
|
|
165
|
+
default_value: true,
|
|
166
|
+
optional: true
|
|
167
|
+
),
|
|
158
168
|
FastlaneCore::ConfigItem.new(
|
|
159
169
|
key: :output_types,
|
|
160
170
|
short_option: "-f",
|
|
@@ -15,13 +15,18 @@ module Fastlane
|
|
|
15
15
|
xctestrun.each do |testable_name, xctestrun_config|
|
|
16
16
|
next if testable_name == '__xctestrun_metadata__'
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
xctest_path = xctest_bundle_path(xctestrun_rootpath, xctestrun_config)
|
|
19
|
+
test_identifiers = XCTestList.tests(xctest_path)
|
|
19
20
|
UI.verbose("Found the following tests: #{test_identifiers.join("\n\t")}")
|
|
20
21
|
if xctestrun_config.key?('SkipTestIdentifiers')
|
|
21
22
|
skipped_tests = xctestrun_config['SkipTestIdentifiers']
|
|
22
23
|
UI.verbose("Removing skipped tests: #{skipped_tests.join("\n\t")}")
|
|
23
24
|
test_identifiers.reject! { |test_identifier| skipped_tests.include?(test_identifier) }
|
|
24
25
|
end
|
|
26
|
+
if test_identifiers.empty?
|
|
27
|
+
UI.error("No tests found in '#{xctest_path}'!")
|
|
28
|
+
UI.important("Is the Build Setting, `ENABLE_TESTABILITY` enabled for the test target #{testable_name}?")
|
|
29
|
+
end
|
|
25
30
|
tests[testable_name] = test_identifiers.map do |test_identifier|
|
|
26
31
|
"#{testable_name.shellescape}/#{test_identifier}"
|
|
27
32
|
end
|
|
@@ -10,6 +10,7 @@ module TestCenter
|
|
|
10
10
|
@batch_count = multi_scan_options[:batch_count] || 1
|
|
11
11
|
@output_directory = multi_scan_options[:output_directory] || 'test_results'
|
|
12
12
|
@try_count = multi_scan_options[:try_count]
|
|
13
|
+
@quit_simulators = multi_scan_options[:quit_simulators]
|
|
13
14
|
@retry_total_count = 0
|
|
14
15
|
@testrun_completed_block = multi_scan_options[:testrun_completed_block]
|
|
15
16
|
@given_custom_report_file_name = multi_scan_options[:custom_report_file_name]
|
|
@@ -23,6 +24,7 @@ module TestCenter
|
|
|
23
24
|
clean
|
|
24
25
|
try_count
|
|
25
26
|
batch_count
|
|
27
|
+
quit_simulators
|
|
26
28
|
custom_report_file_name
|
|
27
29
|
fail_build
|
|
28
30
|
testrun_completed_block
|
|
@@ -276,6 +278,8 @@ module TestCenter
|
|
|
276
278
|
end
|
|
277
279
|
|
|
278
280
|
def quit_simulators
|
|
281
|
+
return unless @quit_simulators
|
|
282
|
+
|
|
279
283
|
Fastlane::Actions.sh("killall -9 'iPhone Simulator' 'Simulator' 'SimulatorBridge' &> /dev/null || true", log: false)
|
|
280
284
|
launchctl_list_count = 0
|
|
281
285
|
while Fastlane::Actions.sh('launchctl list | grep com.apple.CoreSimulator.CoreSimulatorService || true', log: false) != ''
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane-plugin-test_center
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lyndsey Ferguson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-12-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json
|