fastlane-plugin-test_center 3.8.0.parallelizing.beta.3 → 3.8.0.parallelizing.beta.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/fastlane/plugin/test_center/actions/multi_scan.rb +7 -1
- data/lib/fastlane/plugin/test_center/actions/tests_from_xctestrun.rb +1 -1
- data/lib/fastlane/plugin/test_center/helper/multi_scan_manager/retrying_scan_helper.rb +3 -11
- data/lib/fastlane/plugin/test_center/helper/multi_scan_manager/runner.rb +13 -2
- 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: a648ab034eb7f0efa4c6ecfc009e91ad1edb2d46
|
4
|
+
data.tar.gz: 55d4baedfb98e17e9f43052d9473257d65194529
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e81661e1d9fbf1b4324365fc3f2bad744d1a463dd647aeb79c9515a0266ccf8a0fe76d5f9be96681114b8136ff7f7293043df50e165d1bf7c30d3c4bed1b5da
|
7
|
+
data.tar.gz: 8515c5e5326ce48910f6f6ab59d0517469054f4d8efaebaf7fd336b8a44a4a563b8aef287162dd4b71e89777d21a13392cee94433b40cb5721ef85c369aa7aa9
|
data/README.md
CHANGED
@@ -87,7 +87,7 @@ This fastlane plugin includes the following actions:
|
|
87
87
|
|
88
88
|
### multi_scan 🎉
|
89
89
|
|
90
|
-
Use `:multi_scan` intead of `:scan` to improve the usefulness of iOS test results, inspect partial results periodically during a test run, and provide better results reporting.
|
90
|
+
Use `:multi_scan` intead of `:scan` to improve the usefulness of iOS test results, reduce test run time, inspect partial results periodically during a test run, and provide better results reporting.
|
91
91
|
|
92
92
|
#### Improving Usefulness
|
93
93
|
|
@@ -254,9 +254,15 @@ module Fastlane
|
|
254
254
|
description: "Comma separated list of the output types (e.g. html, junit, json, json-compilation-database)",
|
255
255
|
default_value: "html,junit"
|
256
256
|
),
|
257
|
+
FastlaneCore::ConfigItem.new(
|
258
|
+
key: :collate_reports,
|
259
|
+
description: "Whether or not to collate the reports generated by multiple retries, batches, and parallel test runs",
|
260
|
+
default_value: true,
|
261
|
+
is_string: false
|
262
|
+
),
|
257
263
|
FastlaneCore::ConfigItem.new(
|
258
264
|
key: :parallel_testrun_count,
|
259
|
-
description: 'Run
|
265
|
+
description: 'Run simulators each batch of tests and/or each test target in parallel on its own Simulator',
|
260
266
|
optional: true,
|
261
267
|
is_string: false,
|
262
268
|
default_value: 1,
|
@@ -28,7 +28,7 @@ module Fastlane
|
|
28
28
|
UI.important("Is the Build Setting, `ENABLE_TESTABILITY` enabled for the test target #{testable_name}?")
|
29
29
|
end
|
30
30
|
tests[testable_name] = test_identifiers.map do |test_identifier|
|
31
|
-
"#{testable_name
|
31
|
+
"#{testable_name}/#{test_identifier}"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
tests
|
@@ -21,7 +21,6 @@ module TestCenter
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def before_testrun
|
24
|
-
remove_preexisting_test_result_bundles
|
25
24
|
delete_xcresults # has to be performed _after_ moving a *.test_result
|
26
25
|
quit_simulator
|
27
26
|
set_json_env
|
@@ -75,14 +74,6 @@ module TestCenter
|
|
75
74
|
ENV['XCPRETTY_JSON_FILE_OUTPUT'] = @xcpretty_json_file_output
|
76
75
|
end
|
77
76
|
|
78
|
-
def remove_preexisting_test_result_bundles
|
79
|
-
return unless @options[:result_bundle]
|
80
|
-
|
81
|
-
glob_pattern = "#{output_directory}/*.test_result"
|
82
|
-
preexisting_test_result_bundles = Dir.glob(glob_pattern)
|
83
|
-
FileUtils.rm_rf(preexisting_test_result_bundles)
|
84
|
-
end
|
85
|
-
|
86
77
|
def scan_options
|
87
78
|
valid_scan_keys = Fastlane::Actions::ScanAction.available_options.map(&:key)
|
88
79
|
xcargs = @options[:xcargs]
|
@@ -117,6 +108,8 @@ module TestCenter
|
|
117
108
|
end
|
118
109
|
|
119
110
|
def collate_reports
|
111
|
+
return unless @options[:collate_reports]
|
112
|
+
|
120
113
|
report_collator_options = {
|
121
114
|
source_reports_directory_glob: output_directory,
|
122
115
|
output_directory: output_directory,
|
@@ -263,8 +256,7 @@ module TestCenter
|
|
263
256
|
dst_test_bundle_parent_dir = File.dirname(src_test_bundle)
|
264
257
|
dst_test_bundle_basename = File.basename(src_test_bundle, '.test_result')
|
265
258
|
dst_test_bundle = "#{dst_test_bundle_parent_dir}/#{dst_test_bundle_basename}-#{@testrun_count}.test_result"
|
266
|
-
|
267
|
-
FileUtils.mv(src_test_bundle, dst_test_bundle)
|
259
|
+
File.rename(src_test_bundle, dst_test_bundle)
|
268
260
|
end
|
269
261
|
end
|
270
262
|
end
|
@@ -25,6 +25,8 @@ module TestCenter
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def run
|
28
|
+
remove_preexisting_test_result_bundles
|
29
|
+
|
28
30
|
if @options[:invocation_based_tests]
|
29
31
|
run_invocation_based_tests
|
30
32
|
else
|
@@ -32,6 +34,14 @@ module TestCenter
|
|
32
34
|
end
|
33
35
|
end
|
34
36
|
|
37
|
+
def remove_preexisting_test_result_bundles
|
38
|
+
return unless @options[:result_bundle]
|
39
|
+
|
40
|
+
glob_pattern = "#{output_directory}/**/*.test_result"
|
41
|
+
preexisting_test_result_bundles = Dir.glob(glob_pattern)
|
42
|
+
FileUtils.rm_rf(preexisting_test_result_bundles)
|
43
|
+
end
|
44
|
+
|
35
45
|
def run_invocation_based_tests
|
36
46
|
@options[:only_testing] = @options[:only_testing]&.map(&:strip_testcase)&.uniq
|
37
47
|
@options[:skip_testing] = @options[:skip_testing]&.map(&:strip_testcase)&.uniq
|
@@ -69,12 +79,13 @@ module TestCenter
|
|
69
79
|
end
|
70
80
|
|
71
81
|
def collate_batched_reports
|
72
|
-
return
|
82
|
+
return unless @batch_count > 1
|
83
|
+
return unless @options[:collate_reports]
|
84
|
+
|
73
85
|
|
74
86
|
@test_collector.testables.each do |testable|
|
75
87
|
collate_batched_reports_for_testable(testable)
|
76
88
|
end
|
77
|
-
true
|
78
89
|
end
|
79
90
|
|
80
91
|
def collate_batched_reports_for_testable(testable)
|
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.8.0.parallelizing.beta.
|
4
|
+
version: 3.8.0.parallelizing.beta.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lyndsey Ferguson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|