ci-queue 0.95.0 → 0.96.0

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: fbfe5c0fc78304868386bb6349559364566bb77e1b66353d8382054a1070fcb6
4
- data.tar.gz: 8e61c69ecf3ef5bd62f1a099f9206eb339cb95a47988d283c0ef6158bf20c401
3
+ metadata.gz: 8c3ced29dc916918cd28d47f312be55e014fd5836ab0c91d1e2eab17c9484951
4
+ data.tar.gz: 3ac890363a4a861ca2c3420c24490dff1ffd89dfb890b8d0fd71062ccf812003
5
5
  SHA512:
6
- metadata.gz: c030de4de40d4d9ee06d88807cc33dc680714af6cf06b3c261f426ab39909826d13165fc0b5cf298f74e8f97cb683dfc2d05ba50951d358717a9cb24344233e3
7
- data.tar.gz: 3f40abe7cd593a0f4b3bbf34abb11a2031515aea06908952f1de090e8d2657d670265e75e817c2e2b7ef5a707c74e6d0e96a625cdf61f4e8fc76a5baf2f868bf
6
+ metadata.gz: 27f198e8d9201f56112cc29bb3fcaa8518e7d5ddedc629d5eba13de06e0b936a8e809d47162d088f57d5ff614d3c4f92f003f786de62310ae421498e9913d8a9
7
+ data.tar.gz: 2c5f925d28012585afa8212cbb14afb1966cb0a2e5dbeaa9927486b2e96fb2c96d595f06ef7aa5ab6b97e5c238e5bca01e3572273a8a5fa9e8be357f54c44bf5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ci-queue (0.95.0)
4
+ ci-queue (0.96.0)
5
5
  logger
6
6
 
7
7
  GEM
@@ -172,7 +172,21 @@ module CI
172
172
  end
173
173
 
174
174
  def flaky?(test)
175
- @flaky_tests.include?(test.id)
175
+ lazy_normalized_flaky_tests.include?(normalize_test_id(test.id))
176
+ end
177
+
178
+ def normalize_test_id(id)
179
+ id
180
+ end
181
+
182
+ def lazy_normalized_flaky_tests
183
+ @normalized_flaky_tests ||= @flaky_tests.to_set { |test_id| normalize_test_id(test_id) }
184
+ end
185
+
186
+ def test_id_normalizer=(normalizer)
187
+ normalizer = normalizer.to_proc if Method === normalizer
188
+ define_singleton_method(:normalize_test_id, normalizer)
189
+ @normalized_flaky_tests = nil
176
190
  end
177
191
 
178
192
  def seed
@@ -2,7 +2,7 @@
2
2
 
3
3
  module CI
4
4
  module Queue
5
- VERSION = '0.95.0'
5
+ VERSION = '0.96.0'
6
6
  DEV_SCRIPTS_ROOT = ::File.expand_path('../../../../../redis', __FILE__)
7
7
  RELEASE_SCRIPTS_ROOT = ::File.expand_path('../redis', __FILE__)
8
8
  end
@@ -3,6 +3,7 @@
3
3
  require 'minitest/reporters'
4
4
  require 'rexml/document'
5
5
  require 'fileutils'
6
+ require 'tempfile'
6
7
 
7
8
  module Minitest
8
9
  module Queue
@@ -40,9 +41,16 @@ module Minitest
40
41
  def report
41
42
  super
42
43
 
43
- FileUtils.mkdir_p(File.dirname(@report_path))
44
- File.open(@report_path, 'w+') do |file|
45
- format_document(generate_document, file)
44
+ dir = File.dirname(@report_path)
45
+ FileUtils.mkdir_p(dir)
46
+ tmp = Tempfile.new([File.basename(@report_path), '.tmp'], dir)
47
+ begin
48
+ format_document(generate_document, tmp)
49
+ tmp.close
50
+ File.rename(tmp.path, @report_path)
51
+ rescue
52
+ tmp.close!
53
+ raise
46
54
  end
47
55
  end
48
56
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ci-queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.95.0
4
+ version: 0.96.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean Boussier
@@ -319,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
319
319
  - !ruby/object:Gem::Version
320
320
  version: '0'
321
321
  requirements: []
322
- rubygems_version: 4.0.10
322
+ rubygems_version: 4.0.11
323
323
  specification_version: 4
324
324
  summary: Distribute tests over many workers using a queue
325
325
  test_files: []