fastlane-plugin-test_center 3.15.2 → 3.17.0
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 -2
- data/lib/fastlane/plugin/test_center/actions/test_options_from_testplan.rb +17 -6
- data/lib/fastlane/plugin/test_center/actions/tests_from_xcresult.rb +7 -2
- data/lib/fastlane/plugin/test_center/helper/reportname_helper.rb +11 -9
- data/lib/fastlane/plugin/test_center/version.rb +1 -1
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e0ddcb1cdf461ac38fe07e31ef4988b6aa3665ac981f92ba3ca63a52263c4ec
|
4
|
+
data.tar.gz: 6afe121f625d7afb355a1ec550964c3c247bff7184e68af589218f15a07cf94f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e7018ea78bf32cd3cb8cffb2651a8558a820e0816d8f7adb4336341f139f1b27cf7ffcd44df6d4b8a56c1902f4cd5c3f58d75c06558fad4648a410c2c981934
|
7
|
+
data.tar.gz: 88cc071756b5e28619c620b5e0256119b2d30671a8c28220008db564a426e22d081d4171759e8dbc4fc3d876d64c34968eec1a6784bc5b095b5742bc8ec38342
|
data/README.md
CHANGED
@@ -99,8 +99,7 @@ _fastlane_ is the easiest way to automate beta deployments and releases for your
|
|
99
99
|
## Supporters
|
100
100
|
|
101
101
|
![Владислав Давыдов](https://avatars1.githubusercontent.com/u/47553334?s=44&u=4691860dba898943b947180b3d28bb85851b0d7c&v=4)
|
102
|
-
[vdavydovHH](https://github.com/vdavydovHH)
|
103
|
-
|
102
|
+
[vdavydovHH](https://github.com/vdavydovHH)
|
104
103
|
## License
|
105
104
|
|
106
105
|
MIT
|
@@ -6,26 +6,37 @@ module Fastlane
|
|
6
6
|
def self.run(params)
|
7
7
|
testplan_path = params[:testplan]
|
8
8
|
|
9
|
-
testplan = JSON.
|
9
|
+
testplan = JSON.parse(File.open(testplan_path).read)
|
10
10
|
only_testing = []
|
11
|
+
skip_testing = []
|
11
12
|
UI.verbose("Examining testplan JSON: #{testplan}")
|
12
13
|
testplan['testTargets'].each do |test_target|
|
13
14
|
testable = test_target.dig('target', 'name')
|
14
15
|
if test_target.key?('selectedTests')
|
15
16
|
UI.verbose(" Found selectedTests")
|
16
|
-
|
17
|
+
test_target['selectedTests'].each do |selected_test|
|
17
18
|
selected_test.delete!('()')
|
18
19
|
UI.verbose(" Found test: '#{selected_test}'")
|
19
20
|
only_testing << "#{testable}/#{selected_test.sub('\/', '/')}"
|
20
21
|
end
|
21
|
-
|
22
|
-
|
22
|
+
end
|
23
|
+
if test_target.key?('skippedTests')
|
24
|
+
UI.verbose(" Found skippedTests")
|
25
|
+
test_target['skippedTests'].each do |skipped_test|
|
26
|
+
skipped_test.delete!('()')
|
27
|
+
UI.verbose(" Found test: '#{skipped_test}'")
|
28
|
+
skip_testing << "#{testable}/#{skipped_test.sub('\/', '/')}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
unless test_target.key?('selectedTests') || test_target.key?('skippedTests')
|
32
|
+
UI.verbose(" No selected or skipped tests, using testable '#{testable}'")
|
23
33
|
only_testing << testable
|
24
34
|
end
|
25
35
|
end
|
26
36
|
{
|
27
37
|
code_coverage: testplan.dig('defaultOptions', 'codeCoverage'),
|
28
|
-
only_testing: only_testing
|
38
|
+
only_testing: only_testing,
|
39
|
+
skip_testing: skip_testing
|
29
40
|
}
|
30
41
|
end
|
31
42
|
|
@@ -57,7 +68,7 @@ module Fastlane
|
|
57
68
|
end
|
58
69
|
|
59
70
|
def self.return_value
|
60
|
-
"Returns a Hash with keys :code_coverage and :
|
71
|
+
"Returns a Hash with keys :code_coverage, :only_testing, and :skip_testing for the given testplan"
|
61
72
|
end
|
62
73
|
|
63
74
|
def self.example_code
|
@@ -33,6 +33,7 @@ module Fastlane
|
|
33
33
|
testable_summaries = all_summaries.map(&:testable_summaries).flatten
|
34
34
|
failed = []
|
35
35
|
passing = []
|
36
|
+
skipped = []
|
36
37
|
failure_details = {}
|
37
38
|
testable_summaries.map do |testable_summary|
|
38
39
|
target_name = testable_summary.target_name
|
@@ -40,6 +41,8 @@ module Fastlane
|
|
40
41
|
all_tests.each do |t|
|
41
42
|
if t.test_status == 'Success'
|
42
43
|
passing << "#{target_name}/#{t.identifier.sub('()', '')}"
|
44
|
+
elsif t.test_status == 'Skipped'
|
45
|
+
skipped << "#{target_name}/#{t.identifier.sub('()', '')}"
|
43
46
|
else
|
44
47
|
test_identifier = "#{target_name}/#{t.identifier.sub('()', '')}"
|
45
48
|
failed << test_identifier
|
@@ -55,6 +58,7 @@ module Fastlane
|
|
55
58
|
{
|
56
59
|
failed: failed.uniq,
|
57
60
|
passing: passing.uniq,
|
61
|
+
skipped: skipped.uniq,
|
58
62
|
failure_details: failure_details
|
59
63
|
}
|
60
64
|
end
|
@@ -64,7 +68,7 @@ module Fastlane
|
|
64
68
|
#####################################################
|
65
69
|
|
66
70
|
def self.description
|
67
|
-
"☑️ Retrieves the failing and
|
71
|
+
"☑️ Retrieves the failing, passing, and skipped tests as reported in a xcresult bundle"
|
68
72
|
end
|
69
73
|
|
70
74
|
|
@@ -85,7 +89,8 @@ module Fastlane
|
|
85
89
|
def self.return_value
|
86
90
|
"A Hash with information about the test results:\r\n" \
|
87
91
|
"failed: an Array of the failed test identifiers\r\n" \
|
88
|
-
"passing: an Array of the passing test identifiers\r\n"
|
92
|
+
"passing: an Array of the passing test identifiers\r\n" \
|
93
|
+
"skipped: an Array of the skipped test identifiers\r\n"
|
89
94
|
end
|
90
95
|
|
91
96
|
def self.authors
|
@@ -6,19 +6,19 @@ module TestCenter
|
|
6
6
|
attr_reader :report_count
|
7
7
|
|
8
8
|
def initialize(output_types = nil, output_files = nil, custom_report_file_name = nil)
|
9
|
-
@output_types = output_types || '
|
9
|
+
@output_types = output_types || 'xcresult'
|
10
10
|
@output_files = output_files || custom_report_file_name
|
11
11
|
@report_count = 0
|
12
12
|
|
13
13
|
if @output_types && @output_files.nil?
|
14
14
|
@output_files = @output_types.split(',').map { |type| "report.#{type}" }.join(',')
|
15
15
|
end
|
16
|
-
unless @output_types.include?('
|
17
|
-
FastlaneCore::UI.important('Scan output types missing \'
|
18
|
-
@output_types = @output_types.split(',').push('
|
16
|
+
unless @output_types.include?('xcresult')
|
17
|
+
FastlaneCore::UI.important('Scan output types missing \'xcresult\', adding it')
|
18
|
+
@output_types = @output_types.split(',').push('xcresult').join(',')
|
19
19
|
if @output_types.split(',').size == @output_files.split(',').size + 1
|
20
|
-
@output_files = @output_files.split(',').push('report.
|
21
|
-
FastlaneCore::UI.message('As output files has one less than the new number of output types, assumming the filename for the
|
20
|
+
@output_files = @output_files.split(',').push('report.xcresult').join(',')
|
21
|
+
FastlaneCore::UI.message('As output files has one less than the new number of output types, assumming the filename for the xcresult was missing and added it')
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -57,9 +57,11 @@ module TestCenter
|
|
57
57
|
numbered_filename(filename)
|
58
58
|
end
|
59
59
|
|
60
|
+
output_types = types.join(',') unless types.empty?
|
61
|
+
output_files = files.join(',') unless files.empty?
|
60
62
|
options.merge(
|
61
|
-
output_types:
|
62
|
-
output_files:
|
63
|
+
output_types: output_types,
|
64
|
+
output_files: output_files
|
63
65
|
)
|
64
66
|
end
|
65
67
|
|
@@ -145,7 +147,7 @@ module TestCenter
|
|
145
147
|
def json_numbered_fileglob
|
146
148
|
"#{File.basename(json_reportname, '.*')}-[1-9]*#{json_filextension}"
|
147
149
|
end
|
148
|
-
|
150
|
+
|
149
151
|
def self.ensure_output_includes_xcresult(output_types, output_files)
|
150
152
|
return [output_types, output_files] if includes_xcresult?(output_types) || output_types.nil?
|
151
153
|
|
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.17.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:
|
11
|
+
date: 2022-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: trainer
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: xcodeproj
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +114,14 @@ dependencies:
|
|
128
114
|
requirements:
|
129
115
|
- - ">="
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: 2.
|
117
|
+
version: 2.201.0
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - ">="
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: 2.
|
124
|
+
version: 2.201.0
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: markdown-tables
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|