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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58104caf71779ff17d8810825b6d77752bdf59a2ff822d69559cc17b5044385b
4
- data.tar.gz: 42de0ed7949194faed067ea995dd05e0de2966aa34e7f90cd7fe951075f9a715
3
+ metadata.gz: 4a0a7e07ce58d3ba90c7f356ec58e2b633cd5ce9d2c0a597f8752c6dd1249862
4
+ data.tar.gz: 55ae018f050654cbabf5a2be45fcfaf311e1357be48804c399e721de63335770
5
5
  SHA512:
6
- metadata.gz: 1ff9dafe8088bb4dae5f3e5b399fbb7fc4c824ff66b7e3f06397b185ab3b738917e0acaff01369681997dff28fea815297853e1fc01a3629310fb4c6db9c5552
7
- data.tar.gz: '0187a43f595120515b4ea3f55f5fb37389a3287740c7865b7f116aa93e990137634e6e021831e31cdf1edf9164f6bb2da2d23b8f236e37218fbd3536ba767890'
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.11...HEAD
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.723-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
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
@@ -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
@@ -2,7 +2,7 @@
2
2
 
3
3
  module TurboTests
4
4
  module Version
5
- VERSION = "3.1.11"
5
+ VERSION = "3.1.12"
6
6
  end
7
7
  VERSION = Version::VERSION # Traditional Constant Location
8
8
  end
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.11
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.4
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.4
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.11
316
- changelog_uri: https://github.com/galtzo-floss/turbo_tests2/blob/v3.1.11/CHANGELOG.md
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.11
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