fastlane-plugin-test_center 3.16.0 → 3.19.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 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: []