fastlane-plugin-xcresult_to_junit 0.2.4 → 0.2.5

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: 76f68b9a4c330ae06e83c63ac0d48bfdde347f2125ee5a4956c34fbab81f5f68
4
- data.tar.gz: decc54b120a32f06ed73aa55a87c41562570b82cf740fbf50660caf613b23b80
3
+ metadata.gz: f8ea55f58789c5cc56abd231d9ffeaa21e51ecddf242de33ad17bce1bf15c059
4
+ data.tar.gz: 50b033dfc0caa9e5fe1eecc90d94afa342e4dfdc1466b0a157354cc500da4420
5
5
  SHA512:
6
- metadata.gz: 6b099b6e0fc8d54b8ff25f14e397b68728d94f0376c17094c4a6d04c2f072d15b9009fe2070869b199b8e051641d089e1b56a303e822d1a4711174657fb614e8
7
- data.tar.gz: f8c1cce9b4803efccd93f6591b175be093193e70af6f5a042f3644b534f55b8a0b4d6b51b54236c38117a62aed47bb2df9026133cb668f289a1075e34c78c433
6
+ metadata.gz: 88a65b73cb50b3ac83b61b00734f0bbdfe85de3dd5761ca57ac10a81db5716e9ea9e5564b04a43847bfac65a3ded8fd9821ac7a8be117fe3fd66ce77ea520439
7
+ data.tar.gz: 8d67362431ba0968263d54f1118dc9910278fc190440533b2c3aed8e22ed6eebe2fe2f84044b4d70bc3583ee042eae8154ec71f6b371dfa187953a89d8a694c0
@@ -57,6 +57,35 @@ module Fastlane
57
57
  end
58
58
  end
59
59
  end
60
+
61
+ if defined?(ref['performanceMetrics']['_value'])
62
+ performancemetrics = ""
63
+ ref['performanceMetrics']['_values'].each do |metric|
64
+ metricname = metric['displayName']['_value']
65
+ if defined?(metric['baselineAverage']['_value'])
66
+ metricbaseline = metric['baselineAverage']['_value']
67
+ else
68
+ metricbaseline = 0
69
+ end
70
+ metricmaxdev = metric['maxPercentRelativeStandardDeviation']['_value']
71
+ metricunit = metric['unitOfMeasurement']['_value']
72
+ metricave = 0
73
+ measurecount = 0
74
+ metric['measurements']['_values'].each do |measure|
75
+ metricave = metricave + measure['_value'].to_f
76
+ measurecount += 1
77
+ end
78
+ metricave = (metricave/measurecount).round(2)
79
+ if metricbaseline != 0
80
+ metricresult = (((metricbaseline.to_f-metricave)/metricbaseline.to_f)*100).round(2)
81
+ else
82
+ metricresult = 0
83
+ end
84
+ performancemetric = "\nMetric: #{metricname}\nResult: #{metricresult}%\nAverage: #{metricave}#{metricunit}\nBaseline: #{metricbaseline}#{metricunit}\nMax Deviation: #{metricmaxdev}%\n\n"
85
+ performancemetrics << performancemetric
86
+ end
87
+ testcase[:performance] = performancemetrics
88
+ end
60
89
  end
61
90
 
62
91
  if test['testStatus']['_value'] == 'Failure'
@@ -69,23 +69,23 @@ module Fastlane
69
69
  end
70
70
 
71
71
  def self.junit_testcase_start(suite, testcase)
72
- print "<testcase name=#{testcase[:name].encode xml: :attr} classname=#{suite[:name].encode xml: :attr} time='#{testcase[:time]}'"
72
+ print "<testcase name=#{testcase[:name].encode xml: :attr} classname=#{suite[:name].encode xml: :attr} time='#{testcase[:time]}'>"
73
73
  end
74
74
 
75
- def self.junit_testcase_success
76
- puts '/>'
75
+ def self.junit_testcase_end
76
+ puts '</testcase>'
77
77
  end
78
78
 
79
79
  def self.junit_testcase_failure(testcase)
80
- puts '>'
81
80
  puts "<failure message=#{testcase[:failure].encode xml: :attr}>#{testcase[:failure_location].encode xml: :text}</failure>"
82
- puts '</testcase>'
83
81
  end
84
82
 
85
83
  def self.junit_testcase_error(testcase)
86
- puts '>'
87
84
  puts "<error>#{testcase[:error].encode xml: :text}</error>"
88
- puts '</testcase>'
85
+ end
86
+
87
+ def self.junit_testcase_performance(testcase)
88
+ puts "<system-out>#{testcase[:performance]}</system-out>"
89
89
  end
90
90
 
91
91
  def self.generate_junit(junit_folder, test_suites)
@@ -104,9 +104,11 @@ module Fastlane
104
104
  Helper::XcresultToJunitHelper.junit_testcase_failure(testcase)
105
105
  elsif testcase[:error]
106
106
  Helper::XcresultToJunitHelper.junit_testcase_error(testcase)
107
- else
108
- Helper::XcresultToJunitHelper.junit_testcase_success()
109
107
  end
108
+ if testcase[:performance]
109
+ Helper::XcresultToJunitHelper.junit_testcase_performance(testcase)
110
+ end
111
+ Helper::XcresultToJunitHelper.junit_testcase_end
110
112
  end
111
113
  end
112
114
  Helper::XcresultToJunitHelper.junit_suite_end()
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module XcresultToJunit
3
- VERSION = "0.2.4"
3
+ VERSION = "0.2.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-xcresult_to_junit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Birdsall
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-09 00:00:00.000000000 Z
11
+ date: 2020-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -136,7 +136,7 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: 2.134.0
139
- description:
139
+ description:
140
140
  email: shane.birdsall@fiserv.com
141
141
  executables: []
142
142
  extensions: []
@@ -152,7 +152,7 @@ homepage: https://github.com/zanizrules/fastlane-plugin-xcresult_to_junit
152
152
  licenses:
153
153
  - MIT
154
154
  metadata: {}
155
- post_install_message:
155
+ post_install_message:
156
156
  rdoc_options: []
157
157
  require_paths:
158
158
  - lib
@@ -167,9 +167,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  - !ruby/object:Gem::Version
168
168
  version: '0'
169
169
  requirements: []
170
- rubyforge_project:
170
+ rubyforge_project:
171
171
  rubygems_version: 2.7.6.2
172
- signing_key:
172
+ signing_key:
173
173
  specification_version: 4
174
174
  summary: Produces junit xml files from Xcode 11+ xcresult files
175
175
  test_files: []