fastlane-plugin-test_center 0.3.0 → 0.4.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: f408456a45d4decc0519f804501acdb10da66e91
4
- data.tar.gz: 771d1e7586c2a514aa1e0e4b7ee4b2230ad92bea
3
+ metadata.gz: b600780bb2c5b5caee315b15be8366c0942a68be
4
+ data.tar.gz: 7c3ec116614992c2589bf917656438b9a76cc511
5
5
  SHA512:
6
- metadata.gz: 624872099352f31744380b7020c1de125306173cd9f0744401db5cee69689abc232ed24fd5b5aa914befde120624459dc22cfeb5a24af166df97374ac6a54ebb
7
- data.tar.gz: f1bea4edbc9ddc37bb9b98224a56f030cdab43e5f43fc0f61f7939ef8ea3a589761695ca71e305b4d4f005c9f734435001251bd4f228f5f896a6ded6d375e9b0
6
+ metadata.gz: e2ded3e6c83f8a88427a2a3431c09c6eb2c1219fa32544970b4986ffaf83e0110cef240d9fe73f4d5ea3bc4fe7eb3e33befd0667208fea8d03575248e65c2ee8
7
+ data.tar.gz: cd47605f1117968b9dc1d986e1d33b8e06a54ac2fd06a3ef27a6805d2780dd38cd94847aa658667aa454fa194cecf391c17bc842a39ec08a5bbd76fbb28faa7d
@@ -0,0 +1,76 @@
1
+ module Fastlane
2
+ module Actions
3
+ class TestsFromJunitAction < Action
4
+ def self.run(params)
5
+ report_file = File.open(params[:junit]) { |f| REXML::Document.new(f) }
6
+ UI.user_error!("Malformed XML test report file given") if report_file.root.nil?
7
+ UI.user_error!("Valid XML file is not an Xcode test report") if report_file.get_elements('testsuites').empty?
8
+
9
+ {
10
+ passing: passing_tests(report_file).to_a,
11
+ failed: failing_tests(report_file).to_a
12
+ }
13
+ end
14
+
15
+ def self.failing_tests(report_file)
16
+ tests = Set.new
17
+
18
+ report_file.elements.each('*/testsuite/testcase/failure') do |failure_element|
19
+ testcase = failure_element.parent
20
+ tests << xctest_identifier(testcase)
21
+ end
22
+ tests
23
+ end
24
+
25
+ def self.passing_tests(report_file)
26
+ tests = Set.new
27
+
28
+ report_file.elements.each('*/testsuite/testcase[not(failure)]') do |testcase|
29
+ tests << xctest_identifier(testcase)
30
+ end
31
+ tests
32
+ end
33
+
34
+ def self.xctest_identifier(testcase)
35
+ testcase_class = testcase.attributes['classname']
36
+ testcase_testmethod = testcase.attributes['name']
37
+
38
+ testcase_class.gsub!(/.*\./, '')
39
+ "#{testcase_class}/#{testcase_testmethod}"
40
+ end
41
+
42
+ #####################################################
43
+ # @!group Documentation
44
+ #####################################################
45
+
46
+ def self.description
47
+ "Get the failing and passing tests as reported in a junit xml file"
48
+ end
49
+
50
+ def self.available_options
51
+ [
52
+ FastlaneCore::ConfigItem.new(
53
+ key: :junit,
54
+ env_name: "FL_SUPPRESS_TESTS_FROM_JUNIT_JUNIT_REPORT", # The name of the environment variable
55
+ description: "The junit xml report file from which to collect the tests to suppress",
56
+ verify_block: proc do |path|
57
+ UI.user_error!("Error: cannot find the junit xml report file '#{path}'") unless File.exist?(path)
58
+ end
59
+ )
60
+ ]
61
+ end
62
+
63
+ def self.return_value
64
+ "A Hash with an Array of :passing and :failed tests"
65
+ end
66
+
67
+ def self.authors
68
+ ["lyndsey-ferguson/ldferguson"]
69
+ end
70
+
71
+ def self.is_supported?(platform)
72
+ platform == :ios
73
+ end
74
+ end
75
+ end
76
+ end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TestCenter
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.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: 0.3.0
4
+ version: 0.4.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-11-02 00:00:00.000000000 Z
11
+ date: 2017-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -135,6 +135,7 @@ files:
135
135
  - lib/fastlane/plugin/test_center/actions/suppress_tests_from_junit.rb
136
136
  - lib/fastlane/plugin/test_center/actions/suppressed_tests.rb
137
137
  - lib/fastlane/plugin/test_center/actions/test_center_action.rb
138
+ - lib/fastlane/plugin/test_center/actions/tests_from_junit.rb
138
139
  - lib/fastlane/plugin/test_center/helper/test_center_helper.rb
139
140
  - lib/fastlane/plugin/test_center/version.rb
140
141
  homepage: https://github.com/lyndsey-ferguson/fastlane-plugin-test_center