fastlane-plugin-test_center 3.5.5 → 3.5.6

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