forking_test_runner 1.14.0 → 1.16.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: e38d2bbf3dd185f3f8c912537be54a0068c98db3c45b17edda9a53a01ccd63d8
4
- data.tar.gz: 63393812f02d8841d6ee56c000d9400e0062f405d7eb95eccbd766a93877e7d8
3
+ metadata.gz: 347d5e63755b11aefa879f5c697e9cc6cab2ca169051ec12f326d10037c38a7f
4
+ data.tar.gz: 5368d418bad4d28203064fbcb31434a92789a3063be0384b5b7c690478c2c8c7
5
5
  SHA512:
6
- metadata.gz: 1cf9450f7cf1fc7259bf5ec9a51f88141ce7e937aca94152577919117ff1fbec3311591f045b01864cd644b6ada45e71265656c91c067242da7c4195e987df27
7
- data.tar.gz: ac79e34dab39a08445773c394b1912f7119605187cf2a09af670e94f54b2c2d786dc43a09968e50443881220d7d62f7bfcebf167521569b497d96603714962d5
6
+ metadata.gz: 588c1a0b82819d48e8c3cfc3cdf63d3443c4f64ef20950a110cd3103a150ea42721ed4c71916face7940805ecf1b70071431f88937b03beefb18d033621342c1
7
+ data.tar.gz: c25e5abe903f105a56cf7b79c50e00ea8285653329b804813c44de25f2c584c38eb3c6cdde8340f66aba5efe52489161917b1a3c0087be4a13c55effde4a1925
@@ -28,7 +28,7 @@ module ForkingTestRunner
28
28
  class << self
29
29
  def parse_options(argv)
30
30
  options = OPTIONS.each_with_object({}) do |(setting, flag, _, type), all|
31
- all[setting] = delete_argv(flag.split('=', 2)[0], argv, type: type)
31
+ all[setting] = delete_argv(flag.split('=', 2)[0], argv, type:)
32
32
  end
33
33
 
34
34
  # show version
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ForkingTestRunner
3
- VERSION = "1.14.0"
3
+ VERSION = "1.16.0"
4
4
  end
@@ -9,7 +9,7 @@ require 'tempfile'
9
9
 
10
10
  module ForkingTestRunner
11
11
  CLEAR = "------"
12
- CONVERAGE_REPORT_PREFIX = "coverage/fork-"
12
+ COVERAGE_REPORT_PREFIX = "coverage/fork-"
13
13
 
14
14
  class << self
15
15
  attr_accessor :before_fork_callbacks, :after_fork_callbacks
@@ -96,9 +96,9 @@ module ForkingTestRunner
96
96
 
97
97
  private
98
98
 
99
- def with_lock(&block)
99
+ def with_lock(&)
100
100
  return yield unless @options.fetch(:parallel)
101
- Tempfile.open "forking-test-runner-lock", &block
101
+ Tempfile.open("forking-test-runner-lock", &)
102
102
  end
103
103
 
104
104
  def sync_stdout(lock)
@@ -237,14 +237,21 @@ module ForkingTestRunner
237
237
  # reuse our pre-loaded fixtures even if we have a different connection
238
238
  fixtures = ActiveRecord::FixtureSet
239
239
  fixtures_eigenclass = class << fixtures; self; end
240
- fixtures_eigenclass.send(:define_method, :cache_for_connection) do |_connection|
240
+
241
+ name = (ActiveRecord::VERSION::STRING >= "7.2.0" ? :cache_for_connection_pool : :cache_for_connection)
242
+ fixtures_eigenclass.send(:define_method, name) do |_pool|
241
243
  fixtures.class_variable_get(:@@all_cached_fixtures)[:unique]
242
244
  end
243
245
 
244
246
  ActiveSupport::TestCase.fixtures :all
245
247
 
246
248
  fixtures.create_fixtures(
247
- ActiveSupport::TestCase.fixture_path,
249
+ (if ActiveSupport::TestCase.respond_to?(:fixture_paths)
250
+ ActiveSupport::TestCase.fixture_paths
251
+ else
252
+ ActiveSupport::TestCase.fixture_path
253
+ end
254
+ ), # TODO: remove after dropping rails 7,0 support
248
255
  ActiveSupport::TestCase.fixture_table_names,
249
256
  ActiveSupport::TestCase.fixture_class_names
250
257
  )
@@ -300,14 +307,13 @@ module ForkingTestRunner
300
307
  SimpleCov.command_name file
301
308
  end
302
309
  if partial_reports_for_single_cov?
303
- SingleCov.coverage_report = "#{CONVERAGE_REPORT_PREFIX}#{Process.pid}.json"
310
+ SingleCov.coverage_report = "#{COVERAGE_REPORT_PREFIX}#{Process.pid}.json"
304
311
  end
305
312
 
306
313
  @after_fork_callbacks.each(&:call)
307
314
 
308
315
  if active_record?
309
- key = (ActiveRecord::VERSION::STRING >= "4.1.0" ? :test : "test")
310
- ActiveRecord::Base.establish_connection key
316
+ ActiveRecord::Base.establish_connection :test
311
317
  end
312
318
  enable_test_autorun(file)
313
319
  end
@@ -338,8 +344,8 @@ module ForkingTestRunner
338
344
  tests = ParallelTests::Test::Runner.send(
339
345
  :tests_with_size,
340
346
  tests,
341
- runtime_log: runtime_log,
342
- group_by: group_by
347
+ runtime_log:,
348
+ group_by:
343
349
  )
344
350
  groups = ParallelTests::Grouper.in_even_groups_by_size(tests, group_count, {})
345
351
  group = groups[group - 1] || raise("Group #{group} not found")
@@ -383,7 +389,7 @@ module ForkingTestRunner
383
389
  end
384
390
 
385
391
  def summarize_partial_reports
386
- reports = Dir.glob("#{CONVERAGE_REPORT_PREFIX}*")
392
+ reports = Dir.glob("#{COVERAGE_REPORT_PREFIX}*")
387
393
  return if reports.empty?
388
394
  key = nil
389
395
 
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forking_test_runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-21 00:00:00.000000000 Z
11
+ date: 2025-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: benchmark
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.5.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.5.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: parallel_tests
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,20 +58,48 @@ dependencies:
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '2.3'
61
+ version: '2.4'
48
62
  - - ">="
49
63
  - !ruby/object:Gem::Version
50
- version: 2.3.27
64
+ version: 2.4.22
51
65
  type: :development
52
66
  prerelease: false
53
67
  version_requirements: !ruby/object:Gem::Requirement
54
68
  requirements:
55
69
  - - "~>"
56
70
  - !ruby/object:Gem::Version
57
- version: '2.3'
71
+ version: '2.4'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 2.4.22
75
+ - !ruby/object:Gem::Dependency
76
+ name: drb
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: logger
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
58
93
  - - ">="
59
94
  - !ruby/object:Gem::Version
60
- version: 2.3.27
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
61
103
  - !ruby/object:Gem::Dependency
62
104
  name: minitest
63
105
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +114,20 @@ dependencies:
72
114
  - - ">="
73
115
  - !ruby/object:Gem::Version
74
116
  version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: mutex_m
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
75
131
  - !ruby/object:Gem::Dependency
76
132
  name: rake
77
133
  requirement: !ruby/object:Gem::Requirement
@@ -106,28 +162,28 @@ dependencies:
106
162
  requirements:
107
163
  - - "~>"
108
164
  - !ruby/object:Gem::Version
109
- version: 1.65.1
165
+ version: 1.66.1
110
166
  type: :development
111
167
  prerelease: false
112
168
  version_requirements: !ruby/object:Gem::Requirement
113
169
  requirements:
114
170
  - - "~>"
115
171
  - !ruby/object:Gem::Version
116
- version: 1.65.1
172
+ version: 1.66.1
117
173
  - !ruby/object:Gem::Dependency
118
174
  name: sqlite3
119
175
  requirement: !ruby/object:Gem::Requirement
120
176
  requirements:
121
177
  - - "~>"
122
178
  - !ruby/object:Gem::Version
123
- version: 1.6.0
179
+ version: '1.4'
124
180
  type: :development
125
181
  prerelease: false
126
182
  version_requirements: !ruby/object:Gem::Requirement
127
183
  requirements:
128
184
  - - "~>"
129
185
  - !ruby/object:Gem::Version
130
- version: 1.6.0
186
+ version: '1.4'
131
187
  description:
132
188
  email: michael@grosser.it
133
189
  executables:
@@ -153,7 +209,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
209
  requirements:
154
210
  - - ">="
155
211
  - !ruby/object:Gem::Version
156
- version: 2.7.0
212
+ version: 3.1.0
157
213
  required_rubygems_version: !ruby/object:Gem::Requirement
158
214
  requirements:
159
215
  - - ">="