fastlane-plugin-test_center 3.5.5 → 3.5.6

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
  SHA1:
3
- metadata.gz: e706b6b12ba93541b7cb73278793770a163ee9c1
4
- data.tar.gz: fec2bed86cbb28a637c2e1caf5b8c42f31086ee2
3
+ metadata.gz: 0f76f945d6bb3660e884098459a7b1bf6beb1d86
4
+ data.tar.gz: 8e4616cd30aec471e775c69368c17ea1e3a0133a
5
5
  SHA512:
6
- metadata.gz: 9815ecca815c12cc0d31492b41a5d971f9f2c99191e0f5810af72d6f6987680f0abecfff4b15f4c106ef85e4c286bf4a8b4c7f84efaadc24452e5c2654de513d
7
- data.tar.gz: 6bb11fdae062d365b835987746b644a1e03e2ed0efcb6ccced29bc9426778a93b2c94dff321c978984ff002e62da4acbb11c91dd7837e5d3c635da5f329edaeb
6
+ metadata.gz: 772cc233c07b2795e667af33f9b52ebf6c6f23fef0ba59aec7cc5efad2f030119bde8ce96791fa14071a347eee4363b980fb2a237d119036e844b94ee18b2709
7
+ data.tar.gz: 57117ac89d6505f6ae55dc19e31248589adb113a7fceaa88ac62188e557ee9ec05a8d98055fa9711c1f1a425aecaed4ac1c501253f7a96137f1fa2f59d4f5a01
@@ -10,24 +10,17 @@ module Fastlane
10
10
 
11
11
  # copy any missing testsuites
12
12
  target_report = reports.shift
13
+ flatten_duplicate_testsuites(target_report)
14
+
13
15
  reports.each do |report|
16
+ flatten_duplicate_testsuites(report)
17
+
14
18
  report.elements.each('//testsuite') do |testsuite|
15
19
  testsuite_name = testsuite.attributes['name']
16
20
 
17
21
  target_testsuite = REXML::XPath.first(target_report, "//testsuite[@name='#{testsuite_name}']")
18
22
  if target_testsuite
19
- testsuite.elements.each('testcase') do |testcase|
20
- classname = testcase.attributes['classname']
21
- name = testcase.attributes['name']
22
- target_testcase = REXML::XPath.first(target_testsuite, "testcase[@name='#{name}' and @classname='#{classname}']")
23
- # Replace target_testcase with testcase
24
- if target_testcase
25
- target_testcase.parent.insert_after(target_testcase, testcase)
26
- target_testcase.parent.delete_element(target_testcase)
27
- else
28
- target_testsuite << testcase
29
- end
30
- end
23
+ collate_testsuite(target_testsuite, testsuite)
31
24
  else
32
25
  testable = REXML::XPath.first(target_report, "//testsuites")
33
26
  testable << testsuite
@@ -47,6 +40,36 @@ module Fastlane
47
40
  end
48
41
  end
49
42
 
43
+ def self.flatten_duplicate_testsuites(report)
44
+ report.elements.each('//testsuite') do |testsuite|
45
+ testsuite_name = testsuite.attributes['name']
46
+
47
+ duplicate_testsuites = REXML::XPath.match(report, "//testsuite[@name='#{testsuite_name}']")
48
+ if duplicate_testsuites.size > 1
49
+ duplicate_testsuites.drop(1).each do |duplicate_testsuite|
50
+ collate_testsuite(testsuite, duplicate_testsuite)
51
+ duplicate_testsuite.parent.delete_element(duplicate_testsuite)
52
+ end
53
+ end
54
+ update_testsuite_counts(testsuite)
55
+ end
56
+ end
57
+
58
+ def self.collate_testsuite(target_testsuite, other_testsuite)
59
+ other_testsuite.elements.each('testcase') do |testcase|
60
+ classname = testcase.attributes['classname']
61
+ name = testcase.attributes['name']
62
+ target_testcase = REXML::XPath.first(target_testsuite, "testcase[@name='#{name}' and @classname='#{classname}']")
63
+ # Replace target_testcase with testcase
64
+ if target_testcase
65
+ target_testcase.parent.insert_after(target_testcase, testcase)
66
+ target_testcase.parent.delete_element(target_testcase)
67
+ else
68
+ target_testsuite << testcase
69
+ end
70
+ end
71
+ end
72
+
50
73
  def self.update_testable_counts(testable)
51
74
  testsuites = REXML::XPath.match(testable, 'testsuite')
52
75
  test_count = 0
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TestCenter
3
- VERSION = "3.5.5"
3
+ VERSION = "3.5.6"
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.5.5
4
+ version: 3.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lyndsey Ferguson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-16 00:00:00.000000000 Z
11
+ date: 2018-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json