kettle-soup-cover 1.0.10 → 1.1.1
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 +135 -5
- data/CITATION.cff +20 -0
- data/LICENSE.txt +1 -1
- data/README.md +549 -162
- data/REEK +0 -0
- data/SECURITY.md +0 -0
- data/exe/kettle-soup-cover +362 -0
- data/lib/kettle/soup/cover/config.rb +10 -3
- 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 +55 -110
- 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: 6f3cdb3eb563bc8ac3bfb357a26a454e614ad9afd039ba06d43e2f487df4805e
|
|
4
|
+
data.tar.gz: 79e53afd8fb511dbf5e5327dde4f2f5a1f758d4ef7ffa7bcc8333bac156b5138
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6db36ecda5f6c7d85e386d94693a275159fe2287fbbca2efa89174ecddc951bba311d4fc2a4c13e812b68f346bf06bb133d5343fb4b531bb7aff77536ed9b091
|
|
7
|
+
data.tar.gz: dc45507aea4a2215b2085a5ca7637713f816a5f75f69fcdf7f579065a8502edd2cfe38973774f5df1098954ff485edbfcf7640921e29b0cdb78c48ad2058809e
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -1,29 +1,109 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
All notable changes to this project will be documented in this file.
|
|
6
|
+
|
|
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
|
+
|
|
10
23
|
### Changed
|
|
24
|
+
|
|
11
25
|
### Deprecated
|
|
26
|
+
|
|
12
27
|
### Removed
|
|
28
|
+
|
|
13
29
|
### Fixed
|
|
30
|
+
|
|
14
31
|
### Security
|
|
15
32
|
|
|
33
|
+
## [1.1.1] - 2025-12-28
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.1.1][1.1.1t]
|
|
36
|
+
- COVERAGE: 93.62% -- 132/141 lines in 10 files
|
|
37
|
+
- BRANCH COVERAGE: 50.00% -- 15/30 branches in 10 files
|
|
38
|
+
- 15.56% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Added regression tests for `MIN_COVERAGE_HARD` behavior
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- **BUGFIX**: `K_SOUP_COV_MIN_HARD=false` now correctly disables minimum coverage enforcement in CI
|
|
47
|
+
- Previously, the condition `IS_CI || MIN_COVERAGE_HARD` meant minimum coverage was always enforced in CI
|
|
48
|
+
- Now `MIN_COVERAGE_HARD` takes precedence: if explicitly set to `false`, minimum coverage is not enforced
|
|
49
|
+
- The default behavior is unchanged: in CI without explicit setting, minimum coverage is still enforced
|
|
50
|
+
|
|
51
|
+
## [1.1.0] - 2025-12-28
|
|
52
|
+
|
|
53
|
+
- TAG: [v1.1.0][1.1.0t]
|
|
54
|
+
- COVERAGE: 93.62% -- 132/141 lines in 10 files
|
|
55
|
+
- BRANCH COVERAGE: 53.33% -- 16/30 branches in 10 files
|
|
56
|
+
- 15.56% documented
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
- When `ENV["MAX_ROWS"] == "0"`, explicitly, skip simplecov-console TTY output.
|
|
61
|
+
- Script `exe/kettle-soup-cover` generates coverage report
|
|
62
|
+
- defaults to reading `$K_SOUP_COV_DIR/coverage.json`
|
|
63
|
+
- prints a summarized report
|
|
64
|
+
- accepts `-p/--path` or a positional path to coverage.json
|
|
65
|
+
- requires the `json` formatter be configured in `$K_SOUP_COV_FORMATTERS` (or an explicit JSON path as above).
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
|
|
69
|
+
- **Coverage merging is now enabled by default** - `USE_MERGING` defaults to `true`
|
|
70
|
+
- Essential for projects that split tests into multiple rake tasks
|
|
71
|
+
- Set `K_SOUP_COV_USE_MERGING=false` to disable
|
|
72
|
+
- Aggregate coverage from multiple test runs (e.g., FFI specs, integration specs, unit specs) when uniquely named:
|
|
73
|
+
- ```rake
|
|
74
|
+
|
|
75
|
+
# Matrix checks will run in between FFI and MRI
|
|
76
|
+
|
|
77
|
+
desc("Run Backend Matrix Specs")
|
|
78
|
+
RSpec::Core::RakeTask.new(:backend_matrix_specs) do |t|
|
|
79
|
+
t.pattern = "./spec_matrix/**/*_spec.rb"
|
|
80
|
+
end
|
|
81
|
+
desc("Set SimpleCov command name for backend matrix specs")
|
|
82
|
+
task(:set_matrix_command_name) do
|
|
83
|
+
ENV["K_SOUP_COV_COMMAND_NAME"] = "Backend Matrix Specs"
|
|
84
|
+
end
|
|
85
|
+
Rake::Task[:backend_matrix_specs].enhance([:set_matrix_command_name])
|
|
86
|
+
```
|
|
87
|
+
- **Merge timeout** - `MERGE_TIMEOUT` defaults to 3600 seconds (1 hour)
|
|
88
|
+
- Sufficient for most test suites to complete all split tasks
|
|
89
|
+
- Set `K_SOUP_COV_MERGE_TIMEOUT` to override
|
|
90
|
+
|
|
16
91
|
## [1.0.10] - 2025-07-15
|
|
92
|
+
|
|
17
93
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
18
94
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
19
95
|
- 11.11% documented
|
|
96
|
+
|
|
20
97
|
### Added
|
|
98
|
+
|
|
21
99
|
- Add GitHub Pages site to badge info table
|
|
22
100
|
- YARD config, GFM compatible with relative file links
|
|
23
101
|
- Documentation site on GitHub Pages
|
|
24
102
|
- [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
|
|
25
103
|
- Auto-assign issues in the GitHub issue tracker
|
|
104
|
+
|
|
26
105
|
### Changed
|
|
106
|
+
|
|
27
107
|
- Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
|
|
28
108
|
- Updated contact email in gemspec to `floss@galtzo.com`
|
|
29
109
|
- Upgraded runtime dependency minimums:
|
|
@@ -34,46 +114,64 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
34
114
|
- version_gem v1.1.8
|
|
35
115
|
|
|
36
116
|
## [1.0.9] - 2025-05-20
|
|
117
|
+
|
|
37
118
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
38
119
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
39
120
|
- 11.11% documented
|
|
121
|
+
|
|
40
122
|
### Added
|
|
123
|
+
|
|
41
124
|
- YARD config, GFM compatible with relative file links
|
|
42
125
|
- Documentation site on GitHub Pages
|
|
43
126
|
- [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
|
|
127
|
+
|
|
44
128
|
### Changed
|
|
129
|
+
|
|
45
130
|
- Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
|
|
46
131
|
|
|
47
132
|
## [1.0.8] - 2025-05-20
|
|
133
|
+
|
|
48
134
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
49
135
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
50
136
|
- 11.11% documented
|
|
137
|
+
|
|
51
138
|
### Added
|
|
139
|
+
|
|
52
140
|
- Link to discussions on GitHub
|
|
141
|
+
|
|
53
142
|
### Changed
|
|
143
|
+
|
|
54
144
|
- Fixed `spec.homepage` and `spec.source_code_uri` in gemspec
|
|
55
145
|
|
|
56
146
|
## [1.0.7] - 2025-05-20
|
|
147
|
+
|
|
57
148
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
58
149
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
59
150
|
- 11.11% documented
|
|
151
|
+
|
|
60
152
|
### Added
|
|
153
|
+
|
|
61
154
|
- Document usage with minitest
|
|
62
155
|
- Document usage with https://github.com/irongut/CodeCoverageSummary
|
|
63
156
|
- Document usage with https://github.com/marocchino/sticky-pull-request-comment
|
|
64
157
|
- More documentation improvements
|
|
65
158
|
- Link to Discord
|
|
159
|
+
|
|
66
160
|
### Changed
|
|
161
|
+
|
|
67
162
|
- Gem build: Don't check for cert if SKIP_GEM_SIGNING is set
|
|
68
163
|
- Allows linux packaging systems to build gem without signing via rubygems
|
|
69
164
|
- Update homepage in gemspec
|
|
70
165
|
- Improved loading of version.rb in gemspec
|
|
71
166
|
|
|
72
167
|
## [1.0.6] - 2025-05-04
|
|
168
|
+
|
|
73
169
|
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
|
74
170
|
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
|
75
171
|
- 11.11% documented
|
|
172
|
+
|
|
76
173
|
### Added
|
|
174
|
+
|
|
77
175
|
- Support for linux, and other OSes, in `coverage` rake task
|
|
78
176
|
- previously was macOS only (would raise error on other OSes)
|
|
79
177
|
- ✨ `Kettle::Soup::Cover::OPEN_BIN`
|
|
@@ -82,12 +180,16 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
82
180
|
- Set `export K_SOUP_COV_OPEN_BIN=` to just print the path to the HTML coverage report in `coverage` task
|
|
83
181
|
- Test coverage increased from 55 => 93 for lines
|
|
84
182
|
- Test coverage increased from 25 => 50 for branches
|
|
183
|
+
|
|
85
184
|
### Changed
|
|
185
|
+
|
|
86
186
|
- Refactored internals in ways that should not affect public APIs
|
|
87
187
|
- allows much greater test coverage
|
|
88
188
|
- report a bug if anything breaks!
|
|
89
189
|
- Going forward all releases will be signed by my key that expires 2045-04-29
|
|
190
|
+
|
|
90
191
|
### Fixed
|
|
192
|
+
|
|
91
193
|
- require hooks such that both work equally well:
|
|
92
194
|
- `require "kettle/soup/cover"`
|
|
93
195
|
- `require "kettle-soup-cover"`
|
|
@@ -95,46 +197,66 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
95
197
|
- In the ENV set `SKIP_GEM_SIGNING` to any value
|
|
96
198
|
|
|
97
199
|
## [1.0.5] - 2025-04-03
|
|
200
|
+
|
|
98
201
|
### Added
|
|
202
|
+
|
|
99
203
|
- Documentation
|
|
100
204
|
- Support for malformed `K_SOUP_COV_FORMATTERS` (extra spaces)
|
|
101
205
|
- Code coverage tools QLTY, and CodeCov.io
|
|
102
206
|
- Added Ruby 3.3, 3.4 to CI
|
|
207
|
+
|
|
103
208
|
### Changed
|
|
209
|
+
|
|
104
210
|
- Update to Contributor Covenant 2.1
|
|
105
211
|
- Allow unsigned gem builds (for linux distros)
|
|
106
212
|
- Checksums are now created by `stone_checksums` gem
|
|
213
|
+
|
|
107
214
|
### Fixed
|
|
215
|
+
|
|
108
216
|
- Incorrect documentation of ENV variables that control gem behavior
|
|
109
217
|
- Prefer `Kernel.load` > `load` in gemspec
|
|
110
218
|
- https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
|
|
111
219
|
|
|
112
220
|
## [1.0.4] - 2024-06-11
|
|
221
|
+
|
|
113
222
|
### Added
|
|
223
|
+
|
|
114
224
|
- Documentation
|
|
225
|
+
|
|
115
226
|
### Changed
|
|
227
|
+
|
|
116
228
|
- `version_gem` requirement to 1.0.4
|
|
117
229
|
|
|
118
230
|
## [1.0.3] - 2024-05-23
|
|
231
|
+
|
|
119
232
|
### Added
|
|
233
|
+
|
|
120
234
|
- Documentation
|
|
121
235
|
- Mirror repo on GitHub: https://github.com/kettle-rb/kettle-soup-cover
|
|
122
236
|
- More tests
|
|
237
|
+
|
|
123
238
|
### Fixed
|
|
239
|
+
|
|
124
240
|
- Incorrect URLs for homepage, etc
|
|
125
241
|
|
|
126
242
|
## [1.0.2] - 2023-10-19
|
|
243
|
+
|
|
127
244
|
### Fixed
|
|
245
|
+
|
|
128
246
|
- Include new `coverage` rake task in the built gem
|
|
129
247
|
- Goddamnit
|
|
130
248
|
- Try to get checksum for SHA-256 to match what is published on Rubygems.org
|
|
131
249
|
|
|
132
250
|
## [1.0.1] - 2023-10-19
|
|
251
|
+
|
|
133
252
|
### Fixed
|
|
253
|
+
|
|
134
254
|
- Include new `coverage` rake task in the built gem
|
|
135
255
|
|
|
136
256
|
## [1.0.0] - 2023-10-19
|
|
257
|
+
|
|
137
258
|
### Added
|
|
259
|
+
|
|
138
260
|
- ✨ `Regexp.escape` the `FILTER_DIRS` to allow for paths to be excluded from coverage
|
|
139
261
|
- paths must always start at the root of the project, but no leading or trailing slash
|
|
140
262
|
- ✨ Rake task `coverage` will run spec suite, and open results in a browser.
|
|
@@ -153,17 +275,25 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
153
275
|
- `Kettle::Soup::Cover::Filters::GtLineFilter`
|
|
154
276
|
- `Kettle::Soup::Cover::Filters::LtLineFilter`
|
|
155
277
|
- More and better documentation
|
|
278
|
+
|
|
156
279
|
### Changed
|
|
280
|
+
|
|
157
281
|
- This gem no longer does `require "simplecov"`
|
|
158
282
|
- Instead you can `require "simplecov" if Kettle::Soup::Cover::DO_COV` wherever you deem fit
|
|
283
|
+
|
|
159
284
|
### Fixed
|
|
285
|
+
|
|
160
286
|
- All ENV vars now begin with a uniform prefix for this gem:
|
|
161
287
|
- `K_SOUP_COV_*`
|
|
162
288
|
|
|
163
289
|
## [0.1.0] - 2023-10-17
|
|
164
290
|
- Initial release
|
|
165
291
|
|
|
166
|
-
[Unreleased]: https://
|
|
292
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.1...HEAD
|
|
293
|
+
[1.1.1]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.0...v1.1.1
|
|
294
|
+
[1.1.1t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v1.1.1
|
|
295
|
+
[1.1.0]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.0.10...v1.1.0
|
|
296
|
+
[1.1.0t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v1.1.0
|
|
167
297
|
[1.0.10]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.9...v1.0.10
|
|
168
298
|
[1.0.9]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.8...v1.0.9
|
|
169
299
|
[1.0.8]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.7...v1.0.8
|
|
@@ -175,4 +305,4 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
175
305
|
[1.0.2]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.1...v1.0.2
|
|
176
306
|
[1.0.1]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.0...v1.0.1
|
|
177
307
|
[1.0.0]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v0.1.0...v1.0.0
|
|
178
|
-
[0.1.0]: https://
|
|
308
|
+
[0.1.0]: https://github.com/kettle-rb/kettle-soup-cover/compare/97ddbbca309b87c7f6eed0137b08cad74ec81235...v0.1.0
|
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/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
|