turbo_tests2 3.1.11 → 3.1.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 +16 -1
- data/README.md +1 -1
- data/lib/turbo_tests/runner.rb +34 -2
- data/lib/turbo_tests/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -6
- 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: 4a0a7e07ce58d3ba90c7f356ec58e2b633cd5ce9d2c0a597f8752c6dd1249862
|
|
4
|
+
data.tar.gz: 55ae018f050654cbabf5a2be45fcfaf311e1357be48804c399e721de63335770
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 11477777a8a100f2a9cf65880ab421350750ef5e88b9c60abcfb07385e2b07012b510fe9e2c9ab187c797a927be37b6c88eb562daff901350d31e8ab53404388
|
|
7
|
+
data.tar.gz: 4cfa0228f397db7723076b1f77540e87f554866052eda68ceee4ce9a6b9f8ea70dc192c1407462a2d2601d5e3556ff8bd6ad07da2c772e6b7dc2f7414a55964d
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,19 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [3.1.12] - 2026-07-16
|
|
34
|
+
|
|
35
|
+
- TAG: [v3.1.12][3.1.12t]
|
|
36
|
+
- COVERAGE: 97.04% -- 722/744 lines in 10 files
|
|
37
|
+
- BRANCH COVERAGE: 85.50% -- 171/200 branches in 10 files
|
|
38
|
+
- 35.87% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- `file:line` RSpec selectors are now supported when passed to `turbo_tests2`;
|
|
43
|
+
files are grouped by real path and workers receive the original line-filtered
|
|
44
|
+
selectors.
|
|
45
|
+
|
|
33
46
|
## [3.1.11] - 2026-07-16
|
|
34
47
|
|
|
35
48
|
- TAG: [v3.1.11][3.1.11t]
|
|
@@ -262,7 +275,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
262
275
|
|
|
263
276
|
- Initial release
|
|
264
277
|
|
|
265
|
-
[Unreleased]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.
|
|
278
|
+
[Unreleased]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.12...HEAD
|
|
279
|
+
[3.1.12]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.11...v3.1.12
|
|
280
|
+
[3.1.12t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.1.12
|
|
266
281
|
[3.1.11]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.10...v3.1.11
|
|
267
282
|
[3.1.11t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.1.11
|
|
268
283
|
[3.1.10]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.9...v3.1.10
|
data/README.md
CHANGED
|
@@ -666,7 +666,7 @@ Thanks for RTFM. ☺️
|
|
|
666
666
|
[📌gitmoji]: https://gitmoji.dev
|
|
667
667
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
668
668
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
669
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
669
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.744-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
670
670
|
[🔐security]: https://github.com/galtzo-floss/turbo_tests2/blob/main/SECURITY.md
|
|
671
671
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
672
672
|
[📄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
|
@@ -26,6 +26,7 @@ module TurboTests
|
|
|
26
26
|
def run(opts = {})
|
|
27
27
|
default_file_discovery = !opts.key?(:files) || opts[:files].nil?
|
|
28
28
|
files = default_file_discovery ? rspec_configured_files_to_run : opts[:files]
|
|
29
|
+
file_selection = normalize_rspec_file_selection(files)
|
|
29
30
|
formatters = opts[:formatters]
|
|
30
31
|
tags = opts[:tags]
|
|
31
32
|
parallel_options = opts[:parallel_options] || {}
|
|
@@ -62,7 +63,8 @@ module TurboTests
|
|
|
62
63
|
reporter: reporter,
|
|
63
64
|
formatters: formatters,
|
|
64
65
|
start_time: start_time,
|
|
65
|
-
files: files,
|
|
66
|
+
files: file_selection.fetch(:files),
|
|
67
|
+
test_selectors: file_selection.fetch(:selectors),
|
|
66
68
|
tags: tags,
|
|
67
69
|
runtime_log: runtime_log,
|
|
68
70
|
example_status_log: example_status_log,
|
|
@@ -79,6 +81,31 @@ module TurboTests
|
|
|
79
81
|
).run
|
|
80
82
|
end
|
|
81
83
|
|
|
84
|
+
def normalize_rspec_file_selection(files)
|
|
85
|
+
selectors = {}
|
|
86
|
+
files.each do |entry|
|
|
87
|
+
file, selector = split_rspec_location(entry)
|
|
88
|
+
selectors[file] ||= []
|
|
89
|
+
if selector == file
|
|
90
|
+
selectors[file] = [file]
|
|
91
|
+
elsif !selectors[file].include?(file)
|
|
92
|
+
selectors[file] << selector unless selectors[file].include?(selector)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
{files: selectors.keys, selectors: selectors}
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def split_rspec_location(entry)
|
|
100
|
+
value = entry.to_s
|
|
101
|
+
return [value, value] if File.exist?(value)
|
|
102
|
+
|
|
103
|
+
match = value.match(/\A(.+):(\d+)\z/)
|
|
104
|
+
return [value, value] unless match && File.exist?(match[1])
|
|
105
|
+
|
|
106
|
+
[match[1], value]
|
|
107
|
+
end
|
|
108
|
+
|
|
82
109
|
def runtime_log_from_example_status(example_status_log)
|
|
83
110
|
statuses = RSpec::Core::ExampleStatusPersister.load_from(example_status_log)
|
|
84
111
|
runtimes = statuses.each_with_object(Hash.new(0.0)) do |status, sums|
|
|
@@ -121,6 +148,7 @@ module TurboTests
|
|
|
121
148
|
@formatters = opts[:formatters]
|
|
122
149
|
@reporter = opts[:reporter]
|
|
123
150
|
@files = opts[:files]
|
|
151
|
+
@test_selectors = opts[:test_selectors] || {}
|
|
124
152
|
@tags = opts[:tags]
|
|
125
153
|
@verbose = opts[:verbose]
|
|
126
154
|
@fail_fast = opts[:fail_fast]
|
|
@@ -244,7 +272,7 @@ module TurboTests
|
|
|
244
272
|
"PARALLEL_PID_FILE" => parallel_pid_file_path
|
|
245
273
|
},
|
|
246
274
|
@tags.map { |tag| "--tag=#{tag}" },
|
|
247
|
-
tests,
|
|
275
|
+
tests.flat_map { |test| selectors_for_test(test) },
|
|
248
276
|
process_id,
|
|
249
277
|
**opts
|
|
250
278
|
)
|
|
@@ -378,6 +406,10 @@ module TurboTests
|
|
|
378
406
|
ENV["PARALLEL_PID_FILE"]
|
|
379
407
|
end
|
|
380
408
|
|
|
409
|
+
def selectors_for_test(test)
|
|
410
|
+
@test_selectors.fetch(test) { [test] }
|
|
411
|
+
end
|
|
412
|
+
|
|
381
413
|
def track_parallel_pid(pid, pid_file_path = parallel_pid_file_path)
|
|
382
414
|
ParallelTests::Pids.new(pid_file_path).add(pid) if pid && pid_file_path
|
|
383
415
|
end
|
data/lib/turbo_tests/version.rb
CHANGED
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.1.
|
|
4
|
+
version: 3.1.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Illia
|
|
@@ -110,7 +110,7 @@ dependencies:
|
|
|
110
110
|
version: '2.3'
|
|
111
111
|
- - ">="
|
|
112
112
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: 2.3.
|
|
113
|
+
version: 2.3.5
|
|
114
114
|
type: :development
|
|
115
115
|
prerelease: false
|
|
116
116
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -120,7 +120,7 @@ dependencies:
|
|
|
120
120
|
version: '2.3'
|
|
121
121
|
- - ">="
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: 2.3.
|
|
123
|
+
version: 2.3.5
|
|
124
124
|
- !ruby/object:Gem::Dependency
|
|
125
125
|
name: bundler-audit
|
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -312,10 +312,10 @@ licenses:
|
|
|
312
312
|
- MIT
|
|
313
313
|
metadata:
|
|
314
314
|
homepage_uri: https://turbo-tests2.galtzo.com
|
|
315
|
-
source_code_uri: https://github.com/galtzo-floss/turbo_tests2/tree/v3.1.
|
|
316
|
-
changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.1.
|
|
315
|
+
source_code_uri: https://github.com/galtzo-floss/turbo_tests2/tree/v3.1.12
|
|
316
|
+
changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.1.12/CHANGELOG.md
|
|
317
317
|
bug_tracker_uri: https://github.com/galtzo-floss/turbo_tests2/issues
|
|
318
|
-
documentation_uri: https://www.rubydoc.info/gems/turbo_tests2/3.1.
|
|
318
|
+
documentation_uri: https://www.rubydoc.info/gems/turbo_tests2/3.1.12
|
|
319
319
|
funding_uri: https://github.com/sponsors/pboling
|
|
320
320
|
wiki_uri: https://github.com/galtzo-floss/turbo_tests2/wiki
|
|
321
321
|
news_uri: https://www.railsbling.com/tags/turbo_tests2
|
metadata.gz.sig
CHANGED
|
Binary file
|