kettle-soup-cover 1.0.9 → 1.1.0
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 +123 -4
- data/CITATION.cff +20 -0
- data/CONTRIBUTING.md +15 -11
- data/LICENSE.txt +1 -1
- data/README.md +587 -187
- data/REEK +0 -0
- data/SECURITY.md +0 -0
- data/exe/kettle-soup-cover +362 -0
- data/lib/kettle/soup/cover/config.rb +4 -2
- data/lib/kettle/soup/cover/constants.rb +24 -8
- data/lib/kettle/soup/cover/version.rb +1 -1
- data/lib/kettle-soup-cover.rb +2 -1
- data/sig/kettle/soup/cover.rbs +5 -5
- data.tar.gz.sig +0 -0
- metadata +72 -120
- 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: 1458b8373718791d8c3b2651a424c4b9a69666f5b6296e4146ca544c87455ebf
|
|
4
|
+
data.tar.gz: dab53e107af0400b12ad09804ab923d75ec12b5dc708d927b56ac5fdd6bd5c47
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1366dcf03c85cc1c801eeb3bd91ab49e67b7275c807a8cee4a7be6b3fcb23e3a5e6320b20426e7a9913d73ad0df3dbf2f5e45ae6acdaf9bbd2ceba19724fdedc
|
|
7
|
+
data.tar.gz: 8c684b8e832428784b8246bc5bedf0b3d031667e218c2ebc97a44f0f48bae0fc800fb6b9ae30c18cfd2fedfd2476342cb05a4029be08e309ade70a53307e93fa
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -1,57 +1,146 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
[![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
|
|
4
|
+
|
|
3
5
|
All notable changes to this project will be documented in this file.
|
|
4
6
|
|
|
5
|
-
The format is based on [Keep a Changelog]
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
7
|
+
The format is based on [Keep a Changelog][📗keep-changelog],
|
|
8
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|
9
|
+
and [yes][📌major-versions-not-sacred], platform and engine support are part of the [public API][📌semver-breaking].
|
|
10
|
+
Please file a bug if you notice a violation of semantic versioning.
|
|
11
|
+
|
|
12
|
+
[📌semver]: https://semver.org/spec/v2.0.0.html
|
|
13
|
+
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
|
|
14
|
+
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
15
|
+
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
16
|
+
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
17
|
+
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
|
7
18
|
|
|
8
19
|
## [Unreleased]
|
|
20
|
+
|
|
9
21
|
### Added
|
|
22
|
+
|
|
23
|
+
- When `ENV["MAX_ROWS"] == "0"`, explicitly, skip simplecov-console TTY output.
|
|
24
|
+
- Script `exe/kettle-soup-cover` generates coverage report
|
|
25
|
+
- defaults to reading `$K_SOUP_COV_DIR/coverage.json`
|
|
26
|
+
- prints a summarized report
|
|
27
|
+
- accepts `-p/--path` or a positional path to coverage.json
|
|
28
|
+
- requires the `json` formatter be configured in `$K_SOUP_COV_FORMATTERS` (or an explicit JSON path as above).
|
|
29
|
+
|
|
10
30
|
### Changed
|
|
11
|
-
|
|
31
|
+
|
|
32
|
+
- **Coverage merging is now enabled by default** - `USE_MERGING` defaults to `true`
|
|
33
|
+
- Essential for projects that split tests into multiple rake tasks
|
|
34
|
+
- Set `K_SOUP_COV_USE_MERGING=false` to disable
|
|
35
|
+
- Aggregate coverage from multiple test runs (e.g., FFI specs, integration specs, unit specs) when uniquely named:
|
|
36
|
+
- ```rake
|
|
37
|
+
# Matrix checks will run in between FFI and MRI
|
|
38
|
+
desc("Run Backend Matrix Specs")
|
|
39
|
+
RSpec::Core::RakeTask.new(:backend_matrix_specs) do |t|
|
|
40
|
+
t.pattern = "./spec_matrix/**/*_spec.rb"
|
|
41
|
+
end
|
|
42
|
+
desc("Set SimpleCov command name for backend matrix specs")
|
|
43
|
+
task(:set_matrix_command_name) do
|
|
44
|
+
ENV["K_SOUP_COV_COMMAND_NAME"] = "Backend Matrix Specs"
|
|
45
|
+
end
|
|
46
|
+
Rake::Task[:backend_matrix_specs].enhance([:set_matrix_command_name])
|
|
47
|
+
```
|
|
48
|
+
- **Merge timeout** - `MERGE_TIMEOUT` defaults to 3600 seconds (1 hour)
|
|
49
|
+
- Sufficient for most test suites to complete all split tasks
|
|
50
|
+
- Set `K_SOUP_COV_MERGE_TIMEOUT` to override
|
|
51
|
+
|
|
52
|
+
### Deprecated
|
|
53
|
+
|
|
12
54
|
### Removed
|
|
13
55
|
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
### Security
|
|
59
|
+
|
|
60
|
+
## [1.0.10] - 2025-07-15
|
|
61
|
+
|
|
62
|
+
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
63
|
+
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
64
|
+
- 11.11% documented
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
- Add GitHub Pages site to badge info table
|
|
69
|
+
- YARD config, GFM compatible with relative file links
|
|
70
|
+
- Documentation site on GitHub Pages
|
|
71
|
+
- [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
|
|
72
|
+
- Auto-assign issues in the GitHub issue tracker
|
|
73
|
+
|
|
74
|
+
### Changed
|
|
75
|
+
|
|
76
|
+
- Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
|
|
77
|
+
- Updated contact email in gemspec to `floss@galtzo.com`
|
|
78
|
+
- Upgraded runtime dependency minimums:
|
|
79
|
+
- simplecov-cobertura v3.0.0
|
|
80
|
+
- simplecov-html v0.13.1
|
|
81
|
+
- simplecov-rcov v0.3.7
|
|
82
|
+
- simplecov-console v0.9.3
|
|
83
|
+
- version_gem v1.1.8
|
|
84
|
+
|
|
14
85
|
## [1.0.9] - 2025-05-20
|
|
86
|
+
|
|
15
87
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
16
88
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
17
89
|
- 11.11% documented
|
|
90
|
+
|
|
18
91
|
### Added
|
|
92
|
+
|
|
19
93
|
- YARD config, GFM compatible with relative file links
|
|
20
94
|
- Documentation site on GitHub Pages
|
|
21
95
|
- [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
|
|
96
|
+
|
|
22
97
|
### Changed
|
|
98
|
+
|
|
23
99
|
- Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
|
|
24
100
|
|
|
25
101
|
## [1.0.8] - 2025-05-20
|
|
102
|
+
|
|
26
103
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
27
104
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
28
105
|
- 11.11% documented
|
|
106
|
+
|
|
29
107
|
### Added
|
|
108
|
+
|
|
30
109
|
- Link to discussions on GitHub
|
|
110
|
+
|
|
31
111
|
### Changed
|
|
112
|
+
|
|
32
113
|
- Fixed `spec.homepage` and `spec.source_code_uri` in gemspec
|
|
33
114
|
|
|
34
115
|
## [1.0.7] - 2025-05-20
|
|
116
|
+
|
|
35
117
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
36
118
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
37
119
|
- 11.11% documented
|
|
120
|
+
|
|
38
121
|
### Added
|
|
122
|
+
|
|
39
123
|
- Document usage with minitest
|
|
40
124
|
- Document usage with https://github.com/irongut/CodeCoverageSummary
|
|
41
125
|
- Document usage with https://github.com/marocchino/sticky-pull-request-comment
|
|
42
126
|
- More documentation improvements
|
|
43
127
|
- Link to Discord
|
|
128
|
+
|
|
44
129
|
### Changed
|
|
130
|
+
|
|
45
131
|
- Gem build: Don't check for cert if SKIP_GEM_SIGNING is set
|
|
46
132
|
- Allows linux packaging systems to build gem without signing via rubygems
|
|
47
133
|
- Update homepage in gemspec
|
|
48
134
|
- Improved loading of version.rb in gemspec
|
|
49
135
|
|
|
50
136
|
## [1.0.6] - 2025-05-04
|
|
137
|
+
|
|
51
138
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
52
139
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
53
140
|
- 11.11% documented
|
|
141
|
+
|
|
54
142
|
### Added
|
|
143
|
+
|
|
55
144
|
- Support for linux, and other OSes, in `coverage` rake task
|
|
56
145
|
- previously was macOS only (would raise error on other OSes)
|
|
57
146
|
- ✨ `Kettle::Soup::Cover::OPEN_BIN`
|
|
@@ -60,12 +149,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
60
149
|
- Set `export K_SOUP_COV_OPEN_BIN=` to just print the path to the HTML coverage report in `coverage` task
|
|
61
150
|
- Test coverage increased from 55 => 93 for lines
|
|
62
151
|
- Test coverage increased from 25 => 50 for branches
|
|
152
|
+
|
|
63
153
|
### Changed
|
|
154
|
+
|
|
64
155
|
- Refactored internals in ways that should not affect public APIs
|
|
65
156
|
- allows much greater test coverage
|
|
66
157
|
- report a bug if anything breaks!
|
|
67
158
|
- Going forward all releases will be signed by my key that expires 2045-04-29
|
|
159
|
+
|
|
68
160
|
### Fixed
|
|
161
|
+
|
|
69
162
|
- require hooks such that both work equally well:
|
|
70
163
|
- `require "kettle/soup/cover"`
|
|
71
164
|
- `require "kettle-soup-cover"`
|
|
@@ -73,46 +166,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
73
166
|
- In the ENV set `SKIP_GEM_SIGNING` to any value
|
|
74
167
|
|
|
75
168
|
## [1.0.5] - 2025-04-03
|
|
169
|
+
|
|
76
170
|
### Added
|
|
171
|
+
|
|
77
172
|
- Documentation
|
|
78
173
|
- Support for malformed `K_SOUP_COV_FORMATTERS` (extra spaces)
|
|
79
174
|
- Code coverage tools QLTY, and CodeCov.io
|
|
80
175
|
- Added Ruby 3.3, 3.4 to CI
|
|
176
|
+
|
|
81
177
|
### Changed
|
|
178
|
+
|
|
82
179
|
- Update to Contributor Covenant 2.1
|
|
83
180
|
- Allow unsigned gem builds (for linux distros)
|
|
84
181
|
- Checksums are now created by `stone_checksums` gem
|
|
182
|
+
|
|
85
183
|
### Fixed
|
|
184
|
+
|
|
86
185
|
- Incorrect documentation of ENV variables that control gem behavior
|
|
87
186
|
- Prefer `Kernel.load` > `load` in gemspec
|
|
88
187
|
- https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
|
|
89
188
|
|
|
90
189
|
## [1.0.4] - 2024-06-11
|
|
190
|
+
|
|
91
191
|
### Added
|
|
192
|
+
|
|
92
193
|
- Documentation
|
|
194
|
+
|
|
93
195
|
### Changed
|
|
196
|
+
|
|
94
197
|
- `version_gem` requirement to 1.0.4
|
|
95
198
|
|
|
96
199
|
## [1.0.3] - 2024-05-23
|
|
200
|
+
|
|
97
201
|
### Added
|
|
202
|
+
|
|
98
203
|
- Documentation
|
|
99
204
|
- Mirror repo on GitHub: https://github.com/kettle-rb/kettle-soup-cover
|
|
100
205
|
- More tests
|
|
206
|
+
|
|
101
207
|
### Fixed
|
|
208
|
+
|
|
102
209
|
- Incorrect URLs for homepage, etc
|
|
103
210
|
|
|
104
211
|
## [1.0.2] - 2023-10-19
|
|
212
|
+
|
|
105
213
|
### Fixed
|
|
214
|
+
|
|
106
215
|
- Include new `coverage` rake task in the built gem
|
|
107
216
|
- Goddamnit
|
|
108
217
|
- Try to get checksum for SHA-256 to match what is published on Rubygems.org
|
|
109
218
|
|
|
110
219
|
## [1.0.1] - 2023-10-19
|
|
220
|
+
|
|
111
221
|
### Fixed
|
|
222
|
+
|
|
112
223
|
- Include new `coverage` rake task in the built gem
|
|
113
224
|
|
|
114
225
|
## [1.0.0] - 2023-10-19
|
|
226
|
+
|
|
115
227
|
### Added
|
|
228
|
+
|
|
116
229
|
- ✨ `Regexp.escape` the `FILTER_DIRS` to allow for paths to be excluded from coverage
|
|
117
230
|
- paths must always start at the root of the project, but no leading or trailing slash
|
|
118
231
|
- ✨ Rake task `coverage` will run spec suite, and open results in a browser.
|
|
@@ -131,17 +244,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
131
244
|
- `Kettle::Soup::Cover::Filters::GtLineFilter`
|
|
132
245
|
- `Kettle::Soup::Cover::Filters::LtLineFilter`
|
|
133
246
|
- More and better documentation
|
|
247
|
+
|
|
134
248
|
### Changed
|
|
249
|
+
|
|
135
250
|
- This gem no longer does `require "simplecov"`
|
|
136
251
|
- Instead you can `require "simplecov" if Kettle::Soup::Cover::DO_COV` wherever you deem fit
|
|
252
|
+
|
|
137
253
|
### Fixed
|
|
254
|
+
|
|
138
255
|
- All ENV vars now begin with a uniform prefix for this gem:
|
|
139
256
|
- `K_SOUP_COV_*`
|
|
140
257
|
|
|
141
258
|
## [0.1.0] - 2023-10-17
|
|
142
259
|
- Initial release
|
|
143
260
|
|
|
144
|
-
[Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.
|
|
261
|
+
[Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.10...HEAD
|
|
262
|
+
[1.0.10]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.9...v1.0.10
|
|
263
|
+
[1.0.9]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.8...v1.0.9
|
|
145
264
|
[1.0.8]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.7...v1.0.8
|
|
146
265
|
[1.0.7]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.6...v1.0.7
|
|
147
266
|
[1.0.6]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.5...v1.0.6
|
data/CITATION.cff
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: Kettle::Soup::Cover
|
|
3
|
+
message: >-
|
|
4
|
+
If you use this work and you want to cite it,
|
|
5
|
+
then you can use the metadata from this file.
|
|
6
|
+
type: software
|
|
7
|
+
authors:
|
|
8
|
+
- given-names: Peter Hurn
|
|
9
|
+
family-names: Boling
|
|
10
|
+
email: peter@railsbling.com
|
|
11
|
+
affiliation: railsbling.com
|
|
12
|
+
orcid: 'https://orcid.org/0009-0008-8519-441X'
|
|
13
|
+
identifiers:
|
|
14
|
+
- type: url
|
|
15
|
+
value: 'https://github.com/kettle-rb/kettle-soup-cover/'
|
|
16
|
+
description: Kettle::Soup::Cover
|
|
17
|
+
repository-code: 'https://github.com/kettle-rb/kettle-soup-cover/'
|
|
18
|
+
abstract: >-
|
|
19
|
+
Kettle::Soup::Cover
|
|
20
|
+
license: See license file
|
data/CONTRIBUTING.md
CHANGED
|
@@ -13,13 +13,15 @@ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you m
|
|
|
13
13
|
|
|
14
14
|
Simply follow these instructions:
|
|
15
15
|
|
|
16
|
-
1.
|
|
17
|
-
2.
|
|
18
|
-
3.
|
|
19
|
-
4.
|
|
20
|
-
5.
|
|
21
|
-
6.
|
|
22
|
-
7.
|
|
16
|
+
1. Join the Discord: [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
|
17
|
+
2. Fork the repository
|
|
18
|
+
3. Create your feature branch (`git checkout -b my-new-feature`)
|
|
19
|
+
4. Make some fixes.
|
|
20
|
+
5. Commit your changes (`git commit -am 'Added some feature'`)
|
|
21
|
+
6. Push to the branch (`git push origin my-new-feature`)
|
|
22
|
+
7. Make sure to add tests for it. This is important, so it doesn't break in a future release.
|
|
23
|
+
8. Create new Pull Request.
|
|
24
|
+
9. Announce it in the channel for this org in the [Discord][✉️discord-invite]!
|
|
23
25
|
|
|
24
26
|
## The Reek List
|
|
25
27
|
|
|
@@ -27,7 +29,7 @@ Take a look at the `reek` list which is the file called `REEK` and find somethin
|
|
|
27
29
|
|
|
28
30
|
To refresh the `reek` list:
|
|
29
31
|
|
|
30
|
-
```
|
|
32
|
+
```console
|
|
31
33
|
bundle exec reek > REEK
|
|
32
34
|
```
|
|
33
35
|
|
|
@@ -35,7 +37,7 @@ bundle exec reek > REEK
|
|
|
35
37
|
|
|
36
38
|
To run all tests
|
|
37
39
|
|
|
38
|
-
```
|
|
40
|
+
```console
|
|
39
41
|
bundle exec rake test
|
|
40
42
|
```
|
|
41
43
|
|
|
@@ -43,13 +45,13 @@ bundle exec rake test
|
|
|
43
45
|
|
|
44
46
|
Run all the default tasks, which includes running the gradually autocorrecting linter, `rubocop-gradual`.
|
|
45
47
|
|
|
46
|
-
```
|
|
48
|
+
```console
|
|
47
49
|
bundle exec rake
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
Or just run the linter.
|
|
51
53
|
|
|
52
|
-
```
|
|
54
|
+
```console
|
|
53
55
|
bundle exec rake rubocop_gradual:autocorrect
|
|
54
56
|
```
|
|
55
57
|
|
|
@@ -113,3 +115,5 @@ NOTE: To build without signing the gem you must set `SKIP_GEM_SIGNING` to some v
|
|
|
113
115
|
[💎stone_checksums]: https://github.com/pboling/stone_checksums
|
|
114
116
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
115
117
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
|
118
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
|
119
|
+
[✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
|
data/LICENSE.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2023
|
|
3
|
+
Copyright (c) 2023-2025 Peter H. Boling (Galtzo.com)
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|