turbo_tests2 3.2.10 → 3.2.12

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: ef9aa5b6ef624127fee6f208c3f85446dbcf8a8f48072ed34f12ea3b7af7b343
4
- data.tar.gz: 8552a68e93d29f1d9bb93d71b6e7435ed9ea5e889c76be641cdb314c8020f31b
3
+ metadata.gz: 9f0466a1bb4c09b6337f7cd3c62df308c83fdd3f7ea950d9cc9489e118d634e1
4
+ data.tar.gz: 177994c048ccb4acdf41c99e5c0bea8573dc388e1e34a4c99b0f818ec6f8f107
5
5
  SHA512:
6
- metadata.gz: c81f42592dc81b08e22462fe71981ac28d941ff7ddfdfaf7d70db296094b3e76ec51d704614fc3ec53d98bd18f8e849c25def06de48c680c712eb6c30b66776a
7
- data.tar.gz: df5d0f31a8bdfbad6842ab4e2e0a56804d5d566df0bfbb6745c980bffd68833c3948b014a6f05126c1f84a036c1f7d31e8719f9b2e436517d6342693024447af
6
+ metadata.gz: 62c6914590a7bd5637d38fb872e8f7cbd3de840ddd0c400c2aab688528146c09b0e39c83dfeda00cfbc3038e2244785162f9ba572c3c7179ffceaf2b610c5152
7
+ data.tar.gz: bec33a7549867ad9cdfa0998abe1e99ad198220159cb1fe2e5a07a219ba72202c8075c4c5a8e246ccbf8e7baba6f2cf65ca3732ed356e245d15df8beb7f68a79
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,64 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.2.12] - 2026-09-26
34
+
35
+ - TAG: [v3.2.12][3.2.12t]
36
+ - COVERAGE: 96.83% -- 917/947 lines in 10 files
37
+ - BRANCH COVERAGE: 84.59% -- 247/292 branches in 10 files
38
+ - 36.36% documented
39
+
40
+ ### Changed
41
+
42
+ - [kc] kettle-jem/prepare: updated 7 project files:
43
+ - dependencies (7)
44
+
45
+ - [kc] kettle-jem/template: updated 33 project files:
46
+ - code and tests (2)
47
+ - other (1)
48
+ - workflows (30)
49
+
50
+ ### Fixed
51
+
52
+ - Windows runs use size-based worker grouping and skip the runtime logger that requires file locking.
53
+
54
+ ## [3.2.11] - 2026-09-23
55
+
56
+ - TAG: [v3.2.11][3.2.11t]
57
+ - COVERAGE: 96.83% -- 916/946 lines in 10 files
58
+ - BRANCH COVERAGE: 84.83% -- 246/290 branches in 10 files
59
+ - 36.36% documented
60
+
61
+ ### Changed
62
+
63
+ - Current MRI CI now exercises turbo_tests2 through kettle-test on Ubuntu, macOS, and Windows.
64
+
65
+ - [kc] kettle-jem/prepare: updated 11 project files:
66
+ - dependencies (11)
67
+
68
+ - [kc] kettle-jem/template: updated 5 project files:
69
+ - code and tests (1)
70
+ - dependencies (2)
71
+ - other (1)
72
+ - workflows (1)
73
+
74
+ ### Added
75
+
76
+ - kettle-jem-template-20260913-001 - Templating now also surfaces a review
77
+ entry in `dependency_conflicts.resolve` when a direct development
78
+ dependency doesn't support one or more of this project's declared
79
+ `engines:` and has no template-managed modular home (e.g. `sqlite3` on
80
+ `jruby`). Review each entry and pick a resolution per the project's own
81
+ engine support needs.
82
+
83
+ ### Fixed
84
+
85
+ - The multi-process integration summary assertion now supports RSpec's Ruby 3.0-compatible pending-example totals.
86
+
87
+ - Windows turbo_tests2 workers now invoke Bundler through RubyGems using the
88
+ Ruby executable and Bundler's resolved executable path, avoiding direct
89
+ execution of the Windows command shim from `BUNDLE_BIN_PATH`.
90
+
33
91
  ## [3.2.10] - 2026-09-15
34
92
 
35
93
  - TAG: [v3.2.10][3.2.10t]
@@ -609,7 +667,11 @@ Please file a bug if you notice a violation of semantic versioning.
609
667
 
610
668
  - Initial release
611
669
 
612
- [Unreleased]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.10...HEAD
670
+ [Unreleased]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.12...HEAD
671
+ [3.2.12]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.11...v3.2.12
672
+ [3.2.12t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.2.12
673
+ [3.2.11]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.10...v3.2.11
674
+ [3.2.11t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.2.11
613
675
  [3.2.10]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.9...v3.2.10
614
676
  [3.2.10t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.2.10
615
677
  [3.2.9]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.8...v3.2.9
data/README.md CHANGED
@@ -263,10 +263,15 @@ bundle exec turbo_tests2 -n 4 --group-by found
263
263
  bundle exec turbo_tests2 -n 4 -- --group-by runtime
264
264
  ```
265
265
 
266
- `runtime` grouping uses the configured runtime log, which `turbo_tests2`
267
- continues to record by default. `filesize` and `found` do not use runtime
268
- history for the initial split, but worker runtime recording still runs so
269
- future runtime-based runs can use the updated log.
266
+ `runtime` grouping uses the configured runtime log. On platforms other than
267
+ Windows, `turbo_tests2` records runtimes by default. `filesize` and `found` do
268
+ not use runtime history for the initial split, but worker runtime recording
269
+ still runs so future runtime-based runs can use the updated log.
270
+
271
+ On Windows, default file discovery uses filesize grouping and runtime recording
272
+ is disabled because the runtime logger requires file locking that is not
273
+ supported reliably there. An existing runtime log can still be selected
274
+ explicitly with `--group-by runtime`, but Windows runs will not update it.
270
275
 
271
276
  Runtime grouping also supports the explicit `parallel_tests` tuning flags
272
277
  `--allowed-missing PERCENT` and `--unknown-runtime SECONDS`:
@@ -775,7 +780,7 @@ Thanks for RTFM. ☺️
775
780
  [📌gitmoji]: https://gitmoji.dev
776
781
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
777
782
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
778
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.936-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
783
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.947-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
779
784
  [🔐security]: https://github.com/galtzo-floss/turbo_tests2/blob/main/SECURITY.md
780
785
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
781
786
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -52,7 +52,8 @@ module TurboTests
52
52
  opts[:worker_output] || ENV["TURBO_TESTS2_WORKER_OUTPUT"]
53
53
  )
54
54
 
55
- use_runtime_info = default_file_discovery
55
+ use_runtime_info = default_file_discovery && !Gem.win_platform?
56
+ record_runtime = !Gem.win_platform?
56
57
  parallel_options[:runtime_log] ||= runtime_log
57
58
 
58
59
  if example_status_log
@@ -88,7 +89,8 @@ module TurboTests
88
89
  use_runtime_info: use_runtime_info,
89
90
  parallel_options: parallel_options,
90
91
  nice: nice,
91
- worker_output: worker_output
92
+ worker_output: worker_output,
93
+ record_runtime: record_runtime
92
94
  ).run
93
95
  end
94
96
 
@@ -158,10 +160,23 @@ module TurboTests
158
160
  def rspec_configured_files_to_run
159
161
  configuration = RSpec::Core::Configuration.new
160
162
  RSpec::Core::ConfigurationOptions.new(["spec"]).configure(configuration)
161
- root = "#{Dir.pwd}/"
162
163
  configuration.files_to_run.map do |path|
163
- path = path.to_s
164
- path.start_with?(root) ? path[root.length..-1] : path
164
+ expanded_path = File.expand_path(path.to_s).tr("\\", "/")
165
+ root = rspec_root_for(expanded_path)
166
+ root_prefix = "#{root}/"
167
+ expanded_path.start_with?(root_prefix) ? expanded_path[root_prefix.length..-1] : expanded_path
168
+ end
169
+ end
170
+
171
+ def rspec_root_for(path)
172
+ root = File.dirname(path)
173
+ loop do
174
+ return root.tr("\\", "/") if File.file?(File.join(root, ".rspec"))
175
+
176
+ parent = File.dirname(root)
177
+ return File.expand_path(Dir.pwd).tr("\\", "/") if parent == root
178
+
179
+ root = parent
165
180
  end
166
181
  end
167
182
 
@@ -225,7 +240,7 @@ module TurboTests
225
240
  @runtime_log = opts[:runtime_log] || DEFAULT_RUNTIME_LOG
226
241
  @parallel_options = opts.fetch(:parallel_options, {})
227
242
  @parallel_options[:runtime_log] ||= @runtime_log
228
- @record_runtime = true
243
+ @record_runtime = opts.key?(:record_runtime) ? opts[:record_runtime] : true
229
244
 
230
245
  @messages = Thread::Queue.new
231
246
  @threads = []
@@ -372,7 +387,11 @@ module TurboTests
372
387
  if ENV["RSPEC_EXECUTABLE"]
373
388
  ENV["RSPEC_EXECUTABLE"].split
374
389
  elsif ENV["BUNDLE_BIN_PATH"]
375
- [ENV["BUNDLE_BIN_PATH"], "exec", "rspec"]
390
+ if Gem.win_platform?
391
+ [Gem.ruby, Gem.bin_path("bundler", "bundle"), "exec", "rspec"]
392
+ else
393
+ [ENV["BUNDLE_BIN_PATH"], "exec", "rspec"]
394
+ end
376
395
  else
377
396
  "rspec"
378
397
  end
@@ -4,7 +4,7 @@ module TurboTests
4
4
  # Version namespace for this gem.
5
5
  module Version
6
6
  # Current gem version.
7
- VERSION = "3.2.10"
7
+ VERSION = "3.2.12"
8
8
  end
9
9
  # Current gem version exposed at the traditional constant location.
10
10
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turbo_tests2
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.10
4
+ version: 3.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Illia
@@ -111,7 +111,7 @@ dependencies:
111
111
  version: '3.1'
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
- version: 3.1.0
114
+ version: 3.1.1
115
115
  type: :development
116
116
  prerelease: false
117
117
  version_requirements: !ruby/object:Gem::Requirement
@@ -121,7 +121,7 @@ dependencies:
121
121
  version: '3.1'
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 3.1.0
124
+ version: 3.1.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler-audit
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -199,7 +199,7 @@ dependencies:
199
199
  version: '3.2'
200
200
  - - ">="
201
201
  - !ruby/object:Gem::Version
202
- version: 3.2.3
202
+ version: 3.2.4
203
203
  type: :development
204
204
  prerelease: false
205
205
  version_requirements: !ruby/object:Gem::Requirement
@@ -209,7 +209,7 @@ dependencies:
209
209
  version: '3.2'
210
210
  - - ">="
211
211
  - !ruby/object:Gem::Version
212
- version: 3.2.3
212
+ version: 3.2.4
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: kettle-test
215
215
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +219,7 @@ dependencies:
219
219
  version: '2.0'
220
220
  - - ">="
221
221
  - !ruby/object:Gem::Version
222
- version: 2.0.21
222
+ version: 2.0.22
223
223
  type: :development
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
@@ -229,7 +229,7 @@ dependencies:
229
229
  version: '2.0'
230
230
  - - ">="
231
231
  - !ruby/object:Gem::Version
232
- version: 2.0.21
232
+ version: 2.0.22
233
233
  - !ruby/object:Gem::Dependency
234
234
  name: ruby-progressbar
235
235
  requirement: !ruby/object:Gem::Requirement
@@ -315,10 +315,10 @@ licenses:
315
315
  - MIT
316
316
  metadata:
317
317
  homepage_uri: https://turbo-tests2.galtzo.com
318
- source_code_uri: https://github.com/galtzo-floss/turbo_tests2/tree/v3.2.10
319
- changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.2.10/CHANGELOG.md
318
+ source_code_uri: https://github.com/galtzo-floss/turbo_tests2/tree/v3.2.12
319
+ changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.2.12/CHANGELOG.md
320
320
  bug_tracker_uri: https://github.com/galtzo-floss/turbo_tests2/issues
321
- documentation_uri: https://www.rubydoc.info/gems/turbo_tests2/3.2.10
321
+ documentation_uri: https://www.rubydoc.info/gems/turbo_tests2/3.2.12
322
322
  funding_uri: https://github.com/sponsors/pboling
323
323
  wiki_uri: https://github.com/galtzo-floss/turbo_tests2/wiki
324
324
  news_uri: https://www.railsbling.com/tags/turbo_tests2
@@ -349,7 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
349
  - !ruby/object:Gem::Version
350
350
  version: '0'
351
351
  requirements: []
352
- rubygems_version: 4.0.17
352
+ rubygems_version: 4.0.20
353
353
  specification_version: 4
354
354
  summary: "\U0001F680 RSpec parallel test runner built on `parallel_tests`, with incremental
355
355
  summarized output"
metadata.gz.sig CHANGED
Binary file