fastlane-plugin-xcresult_to_junit 0.2.4 → 0.2.5

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: 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: []