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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +63 -1
- data/README.md +10 -5
- data/lib/turbo_tests/runner.rb +26 -7
- data/lib/turbo_tests/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +11 -11
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9f0466a1bb4c09b6337f7cd3c62df308c83fdd3f7ea950d9cc9489e118d634e1
|
|
4
|
+
data.tar.gz: 177994c048ccb4acdf41c99e5c0bea8573dc388e1e34a4c99b0f818ec6f8f107
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
|
267
|
-
|
|
268
|
-
history for the initial split, but worker runtime recording
|
|
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.
|
|
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
|
data/lib/turbo_tests/runner.rb
CHANGED
|
@@ -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
|
-
|
|
164
|
-
|
|
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
|
-
|
|
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
|
data/lib/turbo_tests/version.rb
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
319
|
-
changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.2.
|
|
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.
|
|
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.
|
|
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
|