turbo_tests2 3.2.11 → 3.2.13

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: 16d5ef3bd4de0435e874b16139fe1c8b669733bcc93e306adf5716cd26d355b7
4
- data.tar.gz: 64c1840788d9e9e3f71e02d61b7116b304f3d77baa8b696adb6f0e51c76a4a83
3
+ metadata.gz: 966cd2f7569701b0c3930e26c6f1e447d8c6a61ecab97bcdf93a533633f4fd89
4
+ data.tar.gz: caa5ff5ead62c3efe9cf9eb994700dd1b7a06c54e3c54b5359e292ec3c9ab7ee
5
5
  SHA512:
6
- metadata.gz: 95bd55c4719dea01ef407c348e9bae769bf32a8d0891632833106ffd1989fa2d670cc98705fdd0a4aca36f233e280e72cac92a81cf0b4ee6ab0bc4ef13f8782b
7
- data.tar.gz: 1a4c509273a537ed29d785bd2962676deafc8ddb732d3cea29307d684ef05987bc999298e1593ea85543892a8d293180e96ffab72ff57f41de7193f17aa67545
6
+ metadata.gz: 1608b69b29afc0a8af439b49615eea17e57aa8cab8a06e7724295376d6de0f194d2d9e0bf3f18b0d452193ab29cb652f21dc353de14c054afb0c0942fb016cee
7
+ data.tar.gz: fbc19b6c03e71b4274fd159f610e05a5c47f21327439af54bee05ce5f4a8d89d8dfb5728f246377ce2e4ac45ca4314013287f621233ebd7b74e20c578319cf4e
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,50 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.2.13] - 2026-10-01
34
+
35
+ - TAG: [v3.2.13][3.2.13t]
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 15 project files:
43
+ - dependencies (15)
44
+ - [kc] kettle-jem/template: updated 35 project files:
45
+ - code and tests (2)
46
+ - dependencies (1)
47
+ - other (3)
48
+ - workflows (29)
49
+
50
+ - Documented runtime and platform support tiers, including the TruffleRuby single-worker CI exception and skipped process-spec groups.
51
+
52
+ ### Fixed
53
+
54
+ - Cap the TruffleRuby 23.0 compatibility workflow at one test worker after an intermittent parallel-run hang; maintained runtimes retain parallel test coverage.
55
+
56
+ ## [3.2.12] - 2026-09-26
57
+
58
+ - TAG: [v3.2.12][3.2.12t]
59
+ - COVERAGE: 96.83% -- 917/947 lines in 10 files
60
+ - BRANCH COVERAGE: 84.59% -- 247/292 branches in 10 files
61
+ - 36.36% documented
62
+
63
+ ### Changed
64
+
65
+ - [kc] kettle-jem/prepare: updated 7 project files:
66
+ - dependencies (7)
67
+
68
+ - [kc] kettle-jem/template: updated 33 project files:
69
+ - code and tests (2)
70
+ - other (1)
71
+ - workflows (30)
72
+
73
+ ### Fixed
74
+
75
+ - Windows runs use size-based worker grouping and skip the runtime logger that requires file locking.
76
+
33
77
  ## [3.2.11] - 2026-09-23
34
78
 
35
79
  - TAG: [v3.2.11][3.2.11t]
@@ -63,9 +107,9 @@ Please file a bug if you notice a violation of semantic versioning.
63
107
 
64
108
  - The multi-process integration summary assertion now supports RSpec's Ruby 3.0-compatible pending-example totals.
65
109
 
66
- - Windows turbo_tests2 workers now invoke Bundler through Ruby instead of executing BUNDLE_BIN_PATH directly.
67
-
68
- - Windows turbo_tests2 workers now resolve Bundler through RubyGems instead of relying on the Windows command shim.
110
+ - Windows turbo_tests2 workers now invoke Bundler through RubyGems using the
111
+ Ruby executable and Bundler's resolved executable path, avoiding direct
112
+ execution of the Windows command shim from `BUNDLE_BIN_PATH`.
69
113
 
70
114
  ## [3.2.10] - 2026-09-15
71
115
 
@@ -646,7 +690,11 @@ Please file a bug if you notice a violation of semantic versioning.
646
690
 
647
691
  - Initial release
648
692
 
649
- [Unreleased]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.11...HEAD
693
+ [Unreleased]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.13...HEAD
694
+ [3.2.13]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.12...v3.2.13
695
+ [3.2.13t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.2.13
696
+ [3.2.12]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.11...v3.2.12
697
+ [3.2.12t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.2.12
650
698
  [3.2.11]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.10...v3.2.11
651
699
  [3.2.11t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.2.11
652
700
  [3.2.10]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.2.9...v3.2.10
data/README.md CHANGED
@@ -30,6 +30,37 @@ The project namespace remains `TurboTests`; the published gem and executable are
30
30
 
31
31
  Incremental summarized output doesn't [fit the vision](https://github.com/grosser/parallel_tests/issues/708) of the `parallel_tests` author, and [RSpec doesn't support built-in parallel testing yet](https://github.com/rspec/rspec-rails/issues/2104#issuecomment-658474900). This gem targets RSpec, not every framework supported by `parallel_tests`, and may not be useful once one of the issues above is implemented.
32
32
 
33
+ ### Runtime and Platform Support
34
+
35
+ Support tiers describe what this project's CI actually exercises, not what may
36
+ work in an untested environment:
37
+
38
+ - **Parallel support**: CI runs the test suite with multiple workers available.
39
+ - **Single-worker support**: CI runs the suite with one worker; parallel runner
40
+ behavior is not validated for that combination.
41
+ - **Unsupported**: the engine/platform combination is not covered by CI and is
42
+ not a project compatibility claim.
43
+
44
+ | Ruby engine/version | Linux | macOS | Windows | Notes |
45
+ |---------------------|-------|-------|---------|-------|
46
+ | MRI 2.4-3.4 | Parallel support | Unsupported | Unsupported | Versioned Ruby workflows run on Linux. |
47
+ | MRI current | Parallel support | Parallel support | Parallel support | Current Ruby workflow covers all three platforms. |
48
+ | MRI head | Parallel support | Unsupported | Unsupported | CI is allowed to fail while Ruby is in development. |
49
+ | JRuby 9.2-9.4 | Parallel support | Unsupported | Unsupported | Versioned JRuby workflows run on Linux. |
50
+ | JRuby 10.0/current/head | Parallel support | Unsupported | Unsupported | Experimental/current and head jobs are non-blocking in CI. |
51
+ | TruffleRuby 22.3 | Parallel support | Unsupported | Unsupported | Experimental. The CLI and multi-process spec groups are skipped because this release reports Ruby compatibility version 3.0. |
52
+ | TruffleRuby 23.0 | Single-worker support | Unsupported | Unsupported | Experimental and end-of-life; CI caps workers at one. The CLI and multi-process spec groups are also skipped. |
53
+ | TruffleRuby 23.1 | Parallel support | Unsupported | Unsupported | Experimental. |
54
+ | TruffleRuby 24.2/25.0/33.0/current | Parallel support | Unsupported | Unsupported | Linux workflows run the suite with parallel workers. |
55
+ | TruffleRuby head | Parallel support | Unsupported | Unsupported | CI is allowed to fail while TruffleRuby is in development. |
56
+
57
+ The TruffleRuby 22.3/23.0 spec exclusions use `rspec-pending_for`'s Ruby
58
+ compatibility-version matching (`3.0`), not TruffleRuby's release number. They
59
+ exclude the complete CLI spec group and multi-process integration group; the
60
+ remaining suite still runs in parallel on 22.3 and serially on 23.0. The
61
+ Windows current-Ruby job also runs in parallel, but runtime-log recording is
62
+ disabled there because Windows file locking is unreliable (see below).
63
+
33
64
  ### Why incremental output?
34
65
 
35
66
  `parallel_tests` is great, but parallel RSpec output is hard to read:
@@ -263,10 +294,15 @@ bundle exec turbo_tests2 -n 4 --group-by found
263
294
  bundle exec turbo_tests2 -n 4 -- --group-by runtime
264
295
  ```
265
296
 
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.
297
+ `runtime` grouping uses the configured runtime log. On platforms other than
298
+ Windows, `turbo_tests2` records runtimes by default. `filesize` and `found` do
299
+ not use runtime history for the initial split, but worker runtime recording
300
+ still runs so future runtime-based runs can use the updated log.
301
+
302
+ On Windows, default file discovery uses filesize grouping and runtime recording
303
+ is disabled because the runtime logger requires file locking that is not
304
+ supported reliably there. An existing runtime log can still be selected
305
+ explicitly with `--group-by runtime`, but Windows runs will not update it.
270
306
 
271
307
  Runtime grouping also supports the explicit `parallel_tests` tuning flags
272
308
  `--allowed-missing PERCENT` and `--unknown-runtime SECONDS`:
@@ -775,7 +811,7 @@ Thanks for RTFM. ☺️
775
811
  [📌gitmoji]: https://gitmoji.dev
776
812
  [📌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
813
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
778
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.946-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
814
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.947-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
779
815
  [🔐security]: https://github.com/galtzo-floss/turbo_tests2/blob/main/SECURITY.md
780
816
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
781
817
  [📄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
 
@@ -238,7 +240,7 @@ module TurboTests
238
240
  @runtime_log = opts[:runtime_log] || DEFAULT_RUNTIME_LOG
239
241
  @parallel_options = opts.fetch(:parallel_options, {})
240
242
  @parallel_options[:runtime_log] ||= @runtime_log
241
- @record_runtime = true
243
+ @record_runtime = opts.key?(:record_runtime) ? opts[:record_runtime] : true
242
244
 
243
245
  @messages = Thread::Queue.new
244
246
  @threads = []
@@ -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.11"
7
+ VERSION = "3.2.13"
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.11
4
+ version: 3.2.13
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.1
114
+ version: 3.1.5
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.1
124
+ version: 3.1.5
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.4
202
+ version: 3.2.5
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.4
212
+ version: 3.2.5
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.22
222
+ version: 2.0.23
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.22
232
+ version: 2.0.23
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.11
319
- changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.2.11/CHANGELOG.md
318
+ source_code_uri: https://github.com/galtzo-floss/turbo_tests2/tree/v3.2.13
319
+ changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.2.13/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.11
321
+ documentation_uri: https://www.rubydoc.info/gems/turbo_tests2/3.2.13
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
metadata.gz.sig CHANGED
Binary file