turbo_tests2 3.1.10 → 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 +32 -1
- data/README.md +1 -1
- data/lib/turbo_tests/runner.rb +36 -4
- 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,33 @@ 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
|
+
|
|
46
|
+
## [3.1.11] - 2026-07-16
|
|
47
|
+
|
|
48
|
+
- TAG: [v3.1.11][3.1.11t]
|
|
49
|
+
- COVERAGE: 97.37% -- 704/723 lines in 10 files
|
|
50
|
+
- BRANCH COVERAGE: 88.42% -- 168/190 branches in 10 files
|
|
51
|
+
- 36.67% documented
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
|
|
55
|
+
- No-argument runs once again discover the default `spec` tree while still
|
|
56
|
+
honoring `.rspec` pattern overrides.
|
|
57
|
+
|
|
58
|
+
- Default RSpec file discovery now uses Ruby 2.4-compatible path handling.
|
|
59
|
+
|
|
33
60
|
## [3.1.10] - 2026-07-15
|
|
34
61
|
|
|
35
62
|
- TAG: [v3.1.10][3.1.10t]
|
|
@@ -248,7 +275,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
248
275
|
|
|
249
276
|
- Initial release
|
|
250
277
|
|
|
251
|
-
[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
|
|
281
|
+
[3.1.11]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.10...v3.1.11
|
|
282
|
+
[3.1.11t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.1.11
|
|
252
283
|
[3.1.10]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.9...v3.1.10
|
|
253
284
|
[3.1.10t]: https://github.com/galtzo-floss/turbo_tests2/releases/tag/v3.1.10
|
|
254
285
|
[3.1.9]: https://github.com/galtzo-floss/turbo_tests2/compare/v3.1.8...v3.1.9
|
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|
|
|
@@ -108,11 +135,11 @@ module TurboTests
|
|
|
108
135
|
|
|
109
136
|
def rspec_configured_files_to_run
|
|
110
137
|
configuration = RSpec::Core::Configuration.new
|
|
111
|
-
RSpec::Core::ConfigurationOptions.new([]).configure(configuration)
|
|
138
|
+
RSpec::Core::ConfigurationOptions.new(["spec"]).configure(configuration)
|
|
112
139
|
root = "#{Dir.pwd}/"
|
|
113
140
|
configuration.files_to_run.map do |path|
|
|
114
141
|
path = path.to_s
|
|
115
|
-
path.start_with?(root) ? path.
|
|
142
|
+
path.start_with?(root) ? path[root.length..-1] : path
|
|
116
143
|
end
|
|
117
144
|
end
|
|
118
145
|
end
|
|
@@ -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
|