fastlane-plugin-setup_fragile_tests_for_rescan 0.4.1 → 1.0.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
  SHA1:
3
- metadata.gz: 0b138827b4bc0039589fe394955725dab5797e37
4
- data.tar.gz: 72f875e54fd9596bd1bb79d837a1e5156517efef
3
+ metadata.gz: 287337014d99557369b5e9527745dcc5c9d2a17d
4
+ data.tar.gz: 947b010e3fd2b2eaafb01e4aeeb6a852ca3595a3
5
5
  SHA512:
6
- metadata.gz: 76901b6223349a43991447944ed2f1e9d4cb63a588b10f819b77daf6d54fea91229997e226ef00b17c49038dba36f6458bb6264f7fd09d79570c1cf929ba5fe4
7
- data.tar.gz: 904aca63e25cc5d3e16b320421b041af5e3f3ac8a7e5506fae9da7151fa507bfc31c7ce6d85ee316ba18ff2aa4d38aa52b4818532b97bb512f0c501d0eddec15
6
+ metadata.gz: 08be7ec1bff8567abaaacf93a850a42477b23128f3dbbd842befaad11e377991c0bed94149f265c884028ace66088a13a33d541e8f5142b73dd68488f9e6dfa0
7
+ data.tar.gz: 05f08d7e6d2d0425ef0edcf3f643e1a21c790cba29c98bcdb28c4022fecad2ba425f48eaf6bac523715bebe23b36aef78a4c33baeac56226fb212f0f6c9fdbb3
@@ -11,11 +11,20 @@ module Fastlane
11
11
  UI.user_error!("Malformed XML test report file given") if report_file.root.nil?
12
12
  UI.user_error!("Valid XML file is not an Xcode test report") if report_file.get_elements('testsuites').empty?
13
13
 
14
+ result = {
15
+ passed_tests: [],
16
+ failed_tests: []
17
+ }
18
+
14
19
  # remove all testcases that failed from the report file
15
20
  # so that our subsequent steps here can just focus on finding
16
21
  # passing testcases to suppress
17
22
  report_file.elements.each('*/testsuite/testcase/failure') do |failure_element|
18
- failure_element.parent.parent.delete_element failure_element.parent
23
+ testcase = failure_element.parent
24
+ testsuite_element = testcase.parent
25
+
26
+ result[:failed_tests] << xcodebuild_test_identifier(testsuite_element.parent, testcase)
27
+ testsuite_element.delete_element testcase
19
28
  end
20
29
 
21
30
  scheme = xcscheme(params)
@@ -30,8 +39,9 @@ module Fastlane
30
39
 
31
40
  testsuites.elements.each('testsuite/testcase') do |testcase|
32
41
  skipped_test = Xcodeproj::XCScheme::TestAction::TestableReference::SkippedTest.new
33
- skipped_test.identifier = skipped_test_identifier(testcase.attributes['classname'], testcase.attributes['name'])
42
+ skipped_test.identifier = xctest_identifier(testcase)
34
43
  testable.add_skipped_test(skipped_test)
44
+ result[:passed_tests] << xcodebuild_test_identifier(testsuites, testcase)
35
45
  is_dirty = true
36
46
  summary << [skipped_test.identifier]
37
47
  end
@@ -46,7 +56,7 @@ module Fastlane
46
56
  else
47
57
  UI.error('No passing tests found for suppression')
48
58
  end
49
- summary.flatten
59
+ result
50
60
  end
51
61
 
52
62
  def self.xcscheme(params)
@@ -62,19 +72,29 @@ module Fastlane
62
72
  Xcodeproj::XCScheme.new(scheme_filepath)
63
73
  end
64
74
 
65
- def self.skipped_test_identifier(testcase_class, testcase_testmethod)
75
+ def self.xctest_identifier(testcase)
76
+ testcase_class = testcase.attributes['classname']
77
+ testcase_testmethod = testcase.attributes['name']
78
+
66
79
  is_swift = testcase_class.include?('.')
67
80
  testcase_class.gsub!(/.*\./, '')
68
81
  testcase_testmethod << '()' if is_swift
69
82
  "#{testcase_class}/#{testcase_testmethod}"
70
83
  end
71
84
 
85
+ def self.xcodebuild_test_identifier(testsuites, testcase)
86
+ # remove '.xctest' from the buildable_name
87
+ buildable_name = File.basename(testsuites.attributes['name'], '.*')
88
+ test_identifier = xctest_identifier(testcase).chomp('()')
89
+ "#{buildable_name}/#{test_identifier}"
90
+ end
91
+
72
92
  def self.description
73
93
  "Suppress stabile tests so that 'scan' can run the fragile tests again"
74
94
  end
75
95
 
76
96
  def self.return_value
77
- "A list of the tests to suppress if you use going to use the :skip_testing option in the scan action"
97
+ "A hash of the tests with arrays :passed_tests and :failed_tests which can be used with scan's :skip_testing and :test_only options"
78
98
  end
79
99
 
80
100
  def self.authors
@@ -122,7 +142,8 @@ module Fastlane
122
142
  end
123
143
 
124
144
  def self.is_supported?(platform)
125
- %i[ios mac].include?(platform)
145
+ STDOUT.puts "platform: #{platform}"
146
+ [:ios, :mac].include?(platform)
126
147
  end
127
148
  end
128
149
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module SetupFragileTestsForRescan
3
- VERSION = "0.4.1"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-setup_fragile_tests_for_rescan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.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: 2017-04-24 00:00:00.000000000 Z
11
+ date: 2017-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: fastlane
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: 1.107.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.107.0
111
111
  description:
@@ -114,13 +114,13 @@ executables: []
114
114
  extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
- - LICENSE
118
- - README.md
119
- - lib/fastlane/plugin/setup_fragile_tests_for_rescan.rb
120
117
  - lib/fastlane/plugin/setup_fragile_tests_for_rescan/actions/setup_fragile_tests_for_rescan_action.rb
121
118
  - lib/fastlane/plugin/setup_fragile_tests_for_rescan/helper/setup_fragile_tests_for_rescan_helper.rb
122
119
  - lib/fastlane/plugin/setup_fragile_tests_for_rescan/version.rb
123
- homepage: https://github.com/lyndsey-ferguson/setup_fragile_tests_for_rescan/
120
+ - lib/fastlane/plugin/setup_fragile_tests_for_rescan.rb
121
+ - README.md
122
+ - LICENSE
123
+ homepage: https://github.com/lyndsey-ferguson/fastlane_plugins/tree/master/fastlane-plugin-setup_fragile_tests_for_rescan
124
124
  licenses:
125
125
  - MIT
126
126
  metadata: {}
@@ -130,18 +130,19 @@ require_paths:
130
130
  - lib
131
131
  required_ruby_version: !ruby/object:Gem::Requirement
132
132
  requirements:
133
- - - ">="
133
+ - - '>='
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - ">="
138
+ - - '>='
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  requirements: []
142
142
  rubyforge_project:
143
- rubygems_version: 2.5.2
143
+ rubygems_version: 2.0.14.1
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: Suppress stabile tests so that 'scan' can run the fragile tests again
147
147
  test_files: []
148
+ has_rdoc: