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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7803bf468642bcd0cb4f690b348d9849e604a63670efc0e4f270fec079579013
4
- data.tar.gz: 1176ee96e31ace7572b053b2a955447aaf0ae94930167b178e2e83c03ef39ed5
3
+ metadata.gz: 7e0ddcb1cdf461ac38fe07e31ef4988b6aa3665ac981f92ba3ca63a52263c4ec
4
+ data.tar.gz: 6afe121f625d7afb355a1ec550964c3c247bff7184e68af589218f15a07cf94f
5
5
  SHA512:
6
- metadata.gz: b19221fc40f6ed5582d828424f24ee715cc9208cd3a592bee8def42ad56068c6c66d2fe7689efc525608aeb17d07d04403bb74029fb17d94763815cc03a5f5b3
7
- data.tar.gz: dab38ff12ecc8d5f71a0ea4c617ecb796ff34a51c62740c7d982e00cac7ad2cb008c7e810ca039a49e574d728f0199fcdaa7e52e7d2c7080e0ea9239e5899df5
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) ![amelendezSGY](https://avatars1.githubusercontent.com/u/28657466?s=44&v=4)[amelendezSGY](https://github.com/amelendezSGY)
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.load(File.open(testplan_path))
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
- test_identifiers = test_target['selectedTests'].each do |selected_test|
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
- else
22
- UI.verbose(" No selected tests, using testable '#{testable}'")
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 :only_testing for the given testplan"
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 passing tests as reportedn an xcresult bundle"
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 || 'junit'
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?('junit')
17
- FastlaneCore::UI.important('Scan output types missing \'junit\', adding it')
18
- @output_types = @output_types.split(',').push('junit').join(',')
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.xml').join(',')
21
- FastlaneCore::UI.message('As output files has one less than the new number of output types, assumming the filename for the junit was missing and added it')
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: types.join(','),
62
- output_files: files.join(',')
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
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TestCenter
3
- VERSION = "3.15.2"
3
+ VERSION = "3.17.0"
4
4
  end
5
5
  end
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.15.2
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: 2021-01-17 00:00:00.000000000 Z
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.108.0
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.108.0
124
+ version: 2.201.0
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: markdown-tables
141
127
  requirement: !ruby/object:Gem::Requirement