rspec-tracer 1.2.1 → 1.2.2
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
- data/CHANGELOG.md +25 -0
- data/lib/rspec_tracer/cache.rb +14 -2
- data/lib/rspec_tracer/load_default_config.rb +8 -0
- data/lib/rspec_tracer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0f6c19e285b64650bd4f02c5820fed75c10806ebb97900e17607b84532dfb483
|
|
4
|
+
data.tar.gz: a4e17229c1efa3d43e1cc850b908cb9bbcb16fb6f217098348675ce2a798c993
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 25571686f98b2c1939a0497f3c34a7f0508d856ba94ac2aabd6f293815a4e61ad8cb2b56d8a22c4ff211692a6609c1f8671d6b55f35d2123301d15bf8d70649b
|
|
7
|
+
data.tar.gz: 1c86b20818bc6f18bc5a3faf69f6a7b7908b1ab6006a1301341883edb46f3d180db3cd6308978f9d12dbd6f9b427dcd478c3addc7888f78faa64dc1b325897ce
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
## [1.2.2] - 2026-05-04
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **Default filter list now excludes rspec-tracer's own output
|
|
6
|
+
directories** (`rspec_tracer_cache/`, `rspec_tracer_coverage/`,
|
|
7
|
+
`rspec_tracer_report/`, and the `rspec_tracer.lock` file). Prior
|
|
8
|
+
versions did not exclude these paths, so any spec that read a tracer
|
|
9
|
+
cache file (typical for outer integration specs that assert on cache
|
|
10
|
+
state after a fixture subprocess run) had those paths attributed as
|
|
11
|
+
dependencies. The user-visible symptom was reverse-dependency reports
|
|
12
|
+
showing tracer-self paths as deps of unrelated specs, plus
|
|
13
|
+
spurious files-changed re-runs whenever the tracer rewrote its own
|
|
14
|
+
cache. Both `add_filter` and `add_coverage_filter` defaults updated.
|
|
15
|
+
|
|
16
|
+
- **Carry-forward filter contract** — newly added filters now apply
|
|
17
|
+
uniformly to both fresh attribution AND prior-snapshot carry-forward.
|
|
18
|
+
Previously, `Cache#load_all_files_cache` and `load_dependency_cache`
|
|
19
|
+
read previous-run state without re-applying the current filter list.
|
|
20
|
+
A user adding a new filter mid-development saw the filter take
|
|
21
|
+
effect only for fresh attributions on cold runs; previously-cached
|
|
22
|
+
paths matching the new filter persisted in `all_files` and
|
|
23
|
+
`dependency` until the next cold run. Filter additions now take
|
|
24
|
+
effect on the very next warm run.
|
|
25
|
+
|
|
1
26
|
## [1.2.1] - 2026-05-01
|
|
2
27
|
|
|
3
28
|
### Fixed
|
data/lib/rspec_tracer/cache.rb
CHANGED
|
@@ -171,9 +171,10 @@ module RSpecTracer
|
|
|
171
171
|
|
|
172
172
|
return unless File.file?(file_name)
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
raw = JSON.parse(File.read(file_name, encoding: 'UTF-8')).transform_values do |files|
|
|
175
175
|
files.transform_keys(&:to_sym)
|
|
176
176
|
end
|
|
177
|
+
@all_files = raw.reject { |fname, _| filtered_by_current_filters?(fname) }
|
|
177
178
|
end
|
|
178
179
|
|
|
179
180
|
def load_dependency_cache(cache_dir)
|
|
@@ -181,7 +182,18 @@ module RSpecTracer
|
|
|
181
182
|
|
|
182
183
|
return unless File.file?(file_name)
|
|
183
184
|
|
|
184
|
-
|
|
185
|
+
raw = JSON.parse(File.read(file_name, encoding: 'UTF-8')).transform_values(&:to_set)
|
|
186
|
+
@dependency = raw.transform_values do |files|
|
|
187
|
+
files.reject { |fname| filtered_by_current_filters?(fname) }.to_set
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# True iff `file_name` matches any currently-configured filter.
|
|
192
|
+
# Applied at carry-forward seed time so newly-added filters take
|
|
193
|
+
# effect on the very next warm run instead of waiting for a cold
|
|
194
|
+
# run.
|
|
195
|
+
def filtered_by_current_filters?(file_name)
|
|
196
|
+
RSpecTracer.filters.any? { |f| f.match?(file_name: file_name) }
|
|
185
197
|
end
|
|
186
198
|
|
|
187
199
|
def load_examples_coverage_cache(cache_dir)
|
|
@@ -16,6 +16,10 @@ RSpecTracer.configure do
|
|
|
16
16
|
/.rbenv/versions/
|
|
17
17
|
/.asdf/installs/ruby/
|
|
18
18
|
/.rvm/
|
|
19
|
+
/rspec_tracer_cache/
|
|
20
|
+
/rspec_tracer_coverage/
|
|
21
|
+
/rspec_tracer_report/
|
|
22
|
+
rspec_tracer.lock
|
|
19
23
|
].freeze
|
|
20
24
|
|
|
21
25
|
coverage_filters.clear
|
|
@@ -33,6 +37,10 @@ RSpecTracer.configure do
|
|
|
33
37
|
/.rbenv/versions/
|
|
34
38
|
/.asdf/installs/ruby/
|
|
35
39
|
/.rvm/
|
|
40
|
+
/rspec_tracer_cache/
|
|
41
|
+
/rspec_tracer_coverage/
|
|
42
|
+
/rspec_tracer_report/
|
|
43
|
+
rspec_tracer.lock
|
|
36
44
|
].freeze
|
|
37
45
|
end
|
|
38
46
|
# rubocop:enable Metrics/BlockLength
|
data/lib/rspec_tracer/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rspec-tracer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Abhimanyu Singh
|
|
@@ -111,7 +111,7 @@ licenses:
|
|
|
111
111
|
- MIT
|
|
112
112
|
metadata:
|
|
113
113
|
homepage_uri: https://github.com/avmnu-sng/rspec-tracer
|
|
114
|
-
source_code_uri: https://github.com/avmnu-sng/rspec-tracer/tree/v1.2.
|
|
114
|
+
source_code_uri: https://github.com/avmnu-sng/rspec-tracer/tree/v1.2.2
|
|
115
115
|
changelog_uri: https://github.com/avmnu-sng/rspec-tracer/blob/main/CHANGELOG.md
|
|
116
116
|
bug_tracker_uri: https://github.com/avmnu-sng/rspec-tracer/issues
|
|
117
117
|
rdoc_options: []
|