fastlane-plugin-test_center 3.16.0 → 3.19.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: 06b7ebcc7e0d62e28f6cfb7ceff979cbc0fc122bbbb42a8dc242b1a76433af90
4
- data.tar.gz: c5c4225e577b68ee289720ebcd1ff22312f16a3f560a8e4faffaa23a1de17b6e
3
+ metadata.gz: 9d61e954d4ce230901a494ca25bca7a5dc7ff3496dfb6ff638b886cb78704f18
4
+ data.tar.gz: c3bd1f5803cb8dbd4408f8d91bf7b0069ee80391047f104f6fa2c4f0711a600b
5
5
  SHA512:
6
- metadata.gz: c9917198062684ab363b755154af6b59dc9ff373b555942c5a57ada1141bba6a44d836336cddbdec5e041a412f6977db337fc3077fa6bc13110d8b04a3f546cc
7
- data.tar.gz: 360d3c4100aab492d2b3949b8d05c34bd36e1c5973de8809e05657b43bf59d608b91b211f0b1cc13608c1e9939a65dd19c6b9be733b5c238bf78f44009e5d8c6
6
+ metadata.gz: 4e9117f66388f484f4dcf993a4fc205ea5819dd278a47437de5bcf87e71ed386cb6e09b7ac8805cccd9f35f110468ee4118ae98a1ab27bbdaacffac61460ba90
7
+ data.tar.gz: 3c75fd3783808e0e7c377183cf186879116ca935c906056c53b22f08e5fcadd5065555a961c6d1f3ec17cad68aeb20e3a14d76f396eb4e808e0da8d181971918
@@ -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,7 +33,8 @@ module Fastlane
33
33
  testable_summaries = all_summaries.map(&:testable_summaries).flatten
34
34
  failed = []
35
35
  passing = []
36
- skipped = []
36
+ skipped = []
37
+ expected_failures = []
37
38
  failure_details = {}
38
39
  testable_summaries.map do |testable_summary|
39
40
  target_name = testable_summary.target_name
@@ -43,6 +44,8 @@ module Fastlane
43
44
  passing << "#{target_name}/#{t.identifier.sub('()', '')}"
44
45
  elsif t.test_status == 'Skipped'
45
46
  skipped << "#{target_name}/#{t.identifier.sub('()', '')}"
47
+ elsif t.test_status == 'Expected Failure'
48
+ expected_failures << "#{target_name}/#{t.identifier.sub('()', '')}"
46
49
  else
47
50
  test_identifier = "#{target_name}/#{t.identifier.sub('()', '')}"
48
51
  failed << test_identifier
@@ -58,7 +61,8 @@ module Fastlane
58
61
  {
59
62
  failed: failed.uniq,
60
63
  passing: passing.uniq,
61
- skipped: skipped.uniq,
64
+ skipped: skipped.uniq,
65
+ expected_failures: expected_failures.uniq,
62
66
  failure_details: failure_details
63
67
  }
64
68
  end
@@ -68,7 +72,7 @@ module Fastlane
68
72
  #####################################################
69
73
 
70
74
  def self.description
71
- "☑️ Retrieves the failing, passing, and skipped tests as reported in a xcresult bundle"
75
+ "☑️ Retrieves the failing, passing, skipped, and expected failing tests as reported in a xcresult bundle"
72
76
  end
73
77
 
74
78
 
@@ -90,7 +94,8 @@ module Fastlane
90
94
  "A Hash with information about the test results:\r\n" \
91
95
  "failed: an Array of the failed test identifiers\r\n" \
92
96
  "passing: an Array of the passing test identifiers\r\n" \
93
- "skipped: an Array of the skipped test identifiers\r\n"
97
+ "skipped: an Array of the skipped test identifiers\r\n" \
98
+ "expected_failures: an Array of the expected failure test identifiers\r\n"
94
99
  end
95
100
 
96
101
  def self.authors
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TestCenter
3
- VERSION = "3.16.0"
3
+ VERSION = "3.19.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.16.0
4
+ version: 3.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lyndsey Ferguson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-04 00:00:00.000000000 Z
11
+ date: 2022-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -296,7 +296,7 @@ homepage: https://github.com/lyndsey-ferguson/fastlane-plugin-test_center
296
296
  licenses:
297
297
  - MIT
298
298
  metadata: {}
299
- post_install_message:
299
+ post_install_message:
300
300
  rdoc_options: []
301
301
  require_paths:
302
302
  - lib
@@ -304,15 +304,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
304
304
  requirements:
305
305
  - - ">="
306
306
  - !ruby/object:Gem::Version
307
- version: '0'
307
+ version: '2.6'
308
308
  required_rubygems_version: !ruby/object:Gem::Requirement
309
309
  requirements:
310
310
  - - ">="
311
311
  - !ruby/object:Gem::Version
312
312
  version: '0'
313
313
  requirements: []
314
- rubygems_version: 3.1.2
315
- signing_key:
314
+ rubygems_version: 3.2.32
315
+ signing_key:
316
316
  specification_version: 4
317
317
  summary: Makes testing your iOS app easier
318
318
  test_files: []