kettle-soup-cover 1.1.3 → 2.0.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 +38 -1
- data/CONTRIBUTING.md +37 -0
- data/README.md +19 -38
- data/exe/kettle-soup-cover +4 -4
- data/lib/kettle/soup/cover/config.rb +6 -7
- data/lib/kettle/soup/cover/constants.rb +23 -23
- data/lib/kettle/soup/cover/formatters.rb +20 -0
- data/lib/kettle/soup/cover/rakelib/turbo_tests.rake +8 -0
- data/lib/kettle/soup/cover/version.rb +1 -1
- data/lib/kettle/soup/cover.rb +6 -10
- data/sig/kettle/soup/cover/version.rbs +1 -1
- data.tar.gz.sig +0 -0
- metadata +52 -21
- 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: 715c007e41cf44dd5de392edfff138202e3d78aada308b131e277d389dfb1ac8
|
|
4
|
+
data.tar.gz: 0c46deac117f2f58e63631ef5ce7218d12a120bc4feb40ee3067467f90d3aea0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6de0ae18e8efa8c06d9fbe6dc1dbcf75432d04ef605c994886efb38e11459b76ebf24634eb6830d4c81582575967fdc5881499ef727791472c2443a3cc7ffc16
|
|
7
|
+
data.tar.gz: f7c10677efbe76a5897b43bac822941c587825f5ebb1268944e63f3fb71413f01450522fd995b21cfcebd0c9d0ceb0521aeaf56b9b5cc468ad4b83ea36ce6292
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,39 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.0.1] - 2026-06-02
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.0.1][2.0.1t]
|
|
36
|
+
- COVERAGE: 100.00% -- 247/247 lines in 11 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 68/68 branches in 11 files
|
|
38
|
+
- 16.44% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Added `turbo_tests2:setup` and `turbo_tests2:cleanup` rake hook aliases so
|
|
43
|
+
coverage setup and collation work when runners use either the legacy
|
|
44
|
+
`turbo_tests` namespace or the current `turbo_tests2` namespace.
|
|
45
|
+
- Suppressed SimpleCov report formatter output inside `turbo_tests2` worker
|
|
46
|
+
processes so only the parent collation process publishes coverage reports.
|
|
47
|
+
|
|
48
|
+
## [2.0.0] - 2026-06-02
|
|
49
|
+
|
|
50
|
+
- TAG: [v2.0.0][2.0.0t]
|
|
51
|
+
- COVERAGE: 100.00% -- 244/244 lines in 11 files
|
|
52
|
+
- BRANCH COVERAGE: 100.00% -- 70/70 branches in 11 files
|
|
53
|
+
- 16.67% documented
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
|
|
57
|
+
- Raised direct runtime, development, style, and documentation dependency floors
|
|
58
|
+
to their latest released compatible versions.
|
|
59
|
+
- Raised the minimum supported Ruby version from 2.7 to 3.2.
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- Restored full CI coverage for the self-tested `coverage` rake task opener
|
|
64
|
+
branches after re-templating.
|
|
65
|
+
|
|
33
66
|
## [1.1.3] - 2026-05-24
|
|
34
67
|
|
|
35
68
|
- TAG: [v1.1.3][1.1.3t]
|
|
@@ -356,7 +389,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
356
389
|
|
|
357
390
|
- Initial release
|
|
358
391
|
|
|
359
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-soup-cover/compare/
|
|
392
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-soup-cover/compare/v2.0.1...HEAD
|
|
393
|
+
[2.0.1]: https://github.com/kettle-rb/kettle-soup-cover/compare/v2.0.0...v2.0.1
|
|
394
|
+
[2.0.1t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v2.0.1
|
|
395
|
+
[2.0.0]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.3...v2.0.0
|
|
396
|
+
[2.0.0t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v2.0.0
|
|
360
397
|
[1.1.3]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.2...v1.1.3
|
|
361
398
|
[1.1.3t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v1.1.3
|
|
362
399
|
[1.1.2]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.1...v1.1.2
|
data/CONTRIBUTING.md
CHANGED
|
@@ -50,6 +50,22 @@ There are many Rake tasks available as well. You can see them by running:
|
|
|
50
50
|
bin/rake -T
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
## Code quality checks
|
|
54
|
+
|
|
55
|
+
Run the Reek task when you want a smell check that fails on current findings:
|
|
56
|
+
|
|
57
|
+
```shell
|
|
58
|
+
bin/rake reek
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Refresh the checked-in `REEK` backlog through the rake task, not by redirecting
|
|
62
|
+
the raw `reek` executable output. The rake task uses the project bundle and
|
|
63
|
+
avoids stale generated binstubs shadowing the Reek gem executable:
|
|
64
|
+
|
|
65
|
+
```shell
|
|
66
|
+
bin/rake reek:update
|
|
67
|
+
```
|
|
68
|
+
|
|
53
69
|
## Environment Variables for Local Development
|
|
54
70
|
|
|
55
71
|
Below are the primary environment variables recognized by stone_checksums (and its integrated tools). Unless otherwise noted, set boolean values to the string "true" to enable.
|
|
@@ -86,11 +102,32 @@ Git hooks and commit message helpers (exe/kettle-commit-msg)
|
|
|
86
102
|
- GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
|
|
87
103
|
- GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
|
|
88
104
|
|
|
105
|
+
Git diff driver setup
|
|
106
|
+
- Local setup writes repository `.gitattributes` entries and local Git `diff.smorg-*` command config so this checkout uses StructuredMerge semantic diffs.
|
|
107
|
+
- Global setup registers `diff.smorg-*` commands once in the user Git config; use it when you work across several StructuredMerge-enabled repositories.
|
|
108
|
+
- Include-file setup writes `.git/smorg/config` and includes it from local Git config, keeping command registrations out of the repository files.
|
|
109
|
+
- Git hosting forges generally ignore external diff drivers, so pull request views may still show raw textual diffs even when local `git diff` uses semantic drivers.
|
|
110
|
+
|
|
111
|
+
```console
|
|
112
|
+
K_JEM_TEMPLATING=true bundle exec kettle-jem install
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Troubleshooting Git diffs
|
|
116
|
+
- Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
|
|
117
|
+
- Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
|
|
118
|
+
- If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --local --get-regexp '^diff\.smorg-'`.
|
|
119
|
+
- To remove managed local entries, run `K_JEM_TEMPLATING=true bundle exec kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
|
|
120
|
+
|
|
89
121
|
For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
|
|
90
122
|
|
|
91
123
|
## Appraisals
|
|
92
124
|
|
|
93
125
|
From time to time the [appraisal2][🚎appraisal2] gemfiles in `gemfiles/` will need to be updated.
|
|
126
|
+
Generated appraisal and CI workflow floors are controlled by `ruby.test_minimum`
|
|
127
|
+
in `.structuredmerge/kettle-jem.yml`; this project was templated with `ruby.test_minimum: 3.2.0`.
|
|
128
|
+
That value describes the lowest Ruby version expected to run the test/development
|
|
129
|
+
toolchain, and it may be higher than the gemspec runtime floor.
|
|
130
|
+
|
|
94
131
|
They are created and updated with the commands:
|
|
95
132
|
|
|
96
133
|
```console
|
data/README.md
CHANGED
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[🖼️galtzo-floss-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg
|
|
4
|
-
[🖼️galtzo-floss]: https://discord.gg/3qme4XHNKN
|
|
5
|
-
[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg
|
|
6
|
-
[🖼️ruby-lang]: https://www.ruby-lang.org/
|
|
7
|
-
[🖼️kettle-rb-i]: https://logos.galtzo.com/assets/images/kettle-rb/avatar-128px.svg
|
|
8
|
-
[🖼️kettle-rb]: https://github.com/kettle-rb
|
|
9
|
-
[🖼️kettle-rb-kettle-soup-cover-i]: https://logos.galtzo.com/assets/images/kettle-rb/kettle-soup-cover/avatar-128px.svg
|
|
10
|
-
[🖼️kettle-rb-kettle-soup-cover]: https://github.com/kettle-rb/kettle-soup-cover
|
|
1
|
+
<a href="https://github.com/kettle-rb"><img alt="kettle-rb Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-rb/avatar-128px.svg" width="12%" align="right"/></a> <a href="https://github.com/kettle-rb/kettle-soup-cover"><img alt="kettle-soup-cover Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-rb/kettle-soup-cover/avatar-128px.svg" width="12%" align="right"/></a>
|
|
11
2
|
|
|
12
3
|
# 🥘 Kettle::Soup::Cover
|
|
13
4
|
|
|
14
|
-
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
|
5
|
+
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
|
15
6
|
|
|
16
|
-
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][
|
|
7
|
+
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
|
|
17
8
|
|
|
18
9
|
---
|
|
19
10
|
|
|
@@ -28,7 +19,7 @@ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-ta
|
|
|
28
19
|
|
|
29
20
|
</details>
|
|
30
21
|
|
|
31
|
-
## 🌻 Synopsis
|
|
22
|
+
## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
|
|
32
23
|
|
|
33
24
|
Four lines of code to get a configured, curated, opinionated, set of dependencies for Test Coverage, and that's *including* the two lines for `require "simplecov"`, and `SimpleCov.start`.
|
|
34
25
|
|
|
@@ -111,11 +102,10 @@ where this library is considered a package of [SOUP](https://en.wikipedia.org/wi
|
|
|
111
102
|
|
|
112
103
|
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
113
104
|
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
114
|
-
| Works with JRuby | [![JRuby
|
|
115
|
-
| Works with Truffle Ruby | [![Truffle Ruby
|
|
105
|
+
| Works with JRuby | [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
106
|
+
| Works with Truffle Ruby | [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
|
|
116
107
|
| Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
|
|
117
|
-
| Works with MRI Ruby 3 | [![Ruby 3.
|
|
118
|
-
| Works with MRI Ruby 2 | [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
|
|
108
|
+
| Works with MRI Ruby 3 | [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
|
|
119
109
|
| Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork] [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor] |
|
|
120
110
|
| Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
|
|
121
111
|
| Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
|
|
@@ -126,7 +116,11 @@ where this library is considered a package of [SOUP](https://en.wikipedia.org/wi
|
|
|
126
116
|
|
|
127
117
|
### Compatibility
|
|
128
118
|
|
|
129
|
-
Compatible with MRI Ruby 2.
|
|
119
|
+
Compatible with MRI Ruby 3.2.0+, and concordant releases of JRuby, and TruffleRuby.
|
|
120
|
+
CI workflows and Appraisals are generated for MRI Ruby 3.2.0+.
|
|
121
|
+
This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
122
|
+
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
123
|
+
not practical for the current toolchain.
|
|
130
124
|
|
|
131
125
|
| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
|
|
132
126
|
|------------------------------------------------|--------------------------------------------------------|
|
|
@@ -256,10 +250,10 @@ begin
|
|
|
256
250
|
# cover all specs. Including all_specs would cause duplicated test runs.
|
|
257
251
|
Rake::Task[:spec].clear if Rake::Task.task_defined?(:spec)
|
|
258
252
|
desc("Run specs with FFI tests first, then backend matrix, then remaining tests")
|
|
259
|
-
task(spec: [:ffi_specs, :backend_matrix_specs, :remaining_specs]) # rubocop:disable Rake/DuplicateTask
|
|
253
|
+
task(spec: [:ffi_specs, :backend_matrix_specs, :remaining_specs]) # rubocop:disable Rake/DuplicateTask
|
|
260
254
|
rescue LoadError
|
|
261
255
|
desc("(stub) spec is unavailable")
|
|
262
|
-
task(:spec) do # rubocop:disable Rake/DuplicateTask
|
|
256
|
+
task(:spec) do # rubocop:disable Rake/DuplicateTask
|
|
263
257
|
warn("NOTE: rspec isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
|
|
264
258
|
end
|
|
265
259
|
end
|
|
@@ -272,7 +266,7 @@ end
|
|
|
272
266
|
In your `spec/spec_helper.rb` or `tests/test_helper.rb`, just before loading the library under test,
|
|
273
267
|
add two lines of code:
|
|
274
268
|
|
|
275
|
-
### With Ruby 2
|
|
269
|
+
### With Ruby 3.2+
|
|
276
270
|
|
|
277
271
|
```ruby
|
|
278
272
|
require "kettle-soup-cover"
|
|
@@ -700,6 +694,8 @@ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
|
700
694
|
|
|
701
695
|
### Please give the project a star ⭐ ♥.
|
|
702
696
|
|
|
697
|
+
Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
|
|
698
|
+
|
|
703
699
|
Thanks for RTFM. ☺️
|
|
704
700
|
|
|
705
701
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
@@ -802,18 +798,9 @@ Thanks for RTFM. ☺️
|
|
|
802
798
|
[🏀codecovi]: https://codecov.io/gh/kettle-rb/kettle-soup-cover/graph/badge.svg
|
|
803
799
|
[🏀coveralls]: https://coveralls.io/github/kettle-rb/kettle-soup-cover?branch=main
|
|
804
800
|
[🏀coveralls-img]: https://coveralls.io/repos/github/kettle-rb/kettle-soup-cover/badge.svg?branch=main
|
|
805
|
-
[🖐codeQL]: https://github.com/kettle-rb/kettle-soup-cover/security/code-scanning
|
|
806
|
-
[🖐codeQL-img]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/codeql-analysis.yml/badge.svg
|
|
807
|
-
[🚎ruby-2.7-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/ruby-2.7.yml
|
|
808
|
-
[🚎ruby-3.0-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/ruby-3.0.yml
|
|
809
|
-
[🚎ruby-3.1-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/ruby-3.1.yml
|
|
810
801
|
[🚎ruby-3.2-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/ruby-3.2.yml
|
|
811
802
|
[🚎ruby-3.3-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/ruby-3.3.yml
|
|
812
803
|
[🚎ruby-3.4-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/ruby-3.4.yml
|
|
813
|
-
[🚎jruby-9.4-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/jruby-9.4.yml
|
|
814
|
-
[🚎truby-22.3-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/truffleruby-22.3.yml
|
|
815
|
-
[🚎truby-23.0-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/truffleruby-23.0.yml
|
|
816
|
-
[🚎truby-23.1-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/truffleruby-23.1.yml
|
|
817
804
|
[🚎truby-24.2-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/truffleruby-24.2.yml
|
|
818
805
|
[🚎truby-25.0-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/truffleruby-25.0.yml
|
|
819
806
|
[🚎2-cov-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/coverage.yml
|
|
@@ -834,22 +821,15 @@ Thanks for RTFM. ☺️
|
|
|
834
821
|
[🚎13-🔒️-wfi]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/locked_deps.yml/badge.svg
|
|
835
822
|
[🚎14-🔓️-wf]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/unlocked_deps.yml
|
|
836
823
|
[🚎14-🔓️-wfi]: https://github.com/kettle-rb/kettle-soup-cover/actions/workflows/unlocked_deps.yml/badge.svg
|
|
837
|
-
[💎ruby-2.7i]: https://img.shields.io/badge/Ruby-2.7-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
|
838
|
-
[💎ruby-3.0i]: https://img.shields.io/badge/Ruby-3.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
839
|
-
[💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
840
824
|
[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
841
825
|
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
842
826
|
[💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
843
827
|
[💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
844
828
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
845
829
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
846
|
-
[💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
847
|
-
[💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
848
|
-
[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
849
830
|
[💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
850
831
|
[💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
851
832
|
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
|
852
|
-
[💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
853
833
|
[💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
|
|
854
834
|
[💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
|
|
855
835
|
[🤝gh-issues]: https://github.com/kettle-rb/kettle-soup-cover/issues
|
|
@@ -878,7 +858,7 @@ Thanks for RTFM. ☺️
|
|
|
878
858
|
[📌gitmoji]: https://gitmoji.dev
|
|
879
859
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
880
860
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
881
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
861
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.247-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
882
862
|
[🔐security]: https://github.com/kettle-rb/kettle-soup-cover/blob/main/SECURITY.md
|
|
883
863
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
884
864
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -887,6 +867,7 @@ Thanks for RTFM. ☺️
|
|
|
887
867
|
[📄license-img]: https://img.shields.io/badge/License-AGPL--3.0--only-259D6C.svg
|
|
888
868
|
[📄license-compat]: https://www.apache.org/legal/resolved.html#category-x
|
|
889
869
|
[📄license-compat-img]: https://img.shields.io/badge/Apache_Incompatible:_Category_X-✗-C0392B.svg?style=flat&logo=Apache
|
|
870
|
+
|
|
890
871
|
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
|
891
872
|
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
|
892
873
|
[🚎yard-current]: http://rubydoc.info/gems/kettle-soup-cover
|
data/exe/kettle-soup-cover
CHANGED
|
@@ -149,7 +149,7 @@ def collect_line_info(files, file_filter: nil)
|
|
|
149
149
|
pct: pct,
|
|
150
150
|
path: short_path,
|
|
151
151
|
full_path: path,
|
|
152
|
-
uncovered_lines: uncovered_lines
|
|
152
|
+
uncovered_lines: uncovered_lines
|
|
153
153
|
}
|
|
154
154
|
end
|
|
155
155
|
|
|
@@ -183,7 +183,7 @@ def collect_branch_info(files, file_filter: nil)
|
|
|
183
183
|
condition: branch["type"],
|
|
184
184
|
cond_line: branch["start_line"],
|
|
185
185
|
branch: branch["type"],
|
|
186
|
-
branch_line: branch["start_line"]
|
|
186
|
+
branch_line: branch["start_line"]
|
|
187
187
|
}
|
|
188
188
|
end
|
|
189
189
|
end
|
|
@@ -204,7 +204,7 @@ def collect_branch_info(files, file_filter: nil)
|
|
|
204
204
|
full_path: path,
|
|
205
205
|
details: uncovered_details.sort_by do |d|
|
|
206
206
|
d[:branch_line] || 0
|
|
207
|
-
end
|
|
207
|
+
end
|
|
208
208
|
}
|
|
209
209
|
end
|
|
210
210
|
|
|
@@ -332,7 +332,7 @@ if @show_branches
|
|
|
332
332
|
" Line %3d: %s -> %s branch not taken",
|
|
333
333
|
d[:branch_line] || d[:cond_line] || 0,
|
|
334
334
|
d[:condition],
|
|
335
|
-
d[:branch]
|
|
335
|
+
d[:branch]
|
|
336
336
|
)
|
|
337
337
|
end
|
|
338
338
|
puts " ... and #{r[:details].length - max_details} more" if r[:details].length > max_details
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
# SimpleCov.start
|
|
13
13
|
#
|
|
14
14
|
|
|
15
|
+
require_relative "constants" unless defined?(Kettle::Soup::Cover::Constants)
|
|
16
|
+
require_relative "loaders" unless defined?(Kettle::Soup::Cover::Loaders)
|
|
17
|
+
require_relative "formatters" unless defined?(Kettle::Soup::Cover) && Kettle::Soup::Cover.respond_to?(:configure_formatters!)
|
|
18
|
+
|
|
15
19
|
SimpleCov.configure do
|
|
16
20
|
track_files("lib/**/*.rb")
|
|
17
21
|
|
|
@@ -27,12 +31,7 @@ SimpleCov.configure do
|
|
|
27
31
|
coverage_dir(Kettle::Soup::Cover::Constants::COVERAGE_DIR)
|
|
28
32
|
|
|
29
33
|
# Formatters
|
|
30
|
-
|
|
31
|
-
Kettle::Soup::Cover::Loaders.load_formatters
|
|
32
|
-
else
|
|
33
|
-
require "simplecov-html"
|
|
34
|
-
formatter SimpleCov::Formatter::HTMLFormatter
|
|
35
|
-
end
|
|
34
|
+
Kettle::Soup::Cover.configure_formatters!
|
|
36
35
|
|
|
37
36
|
# Use Merging (merges coverage from multiple test runs, e.g., RSpec + Cucumber Test Results)
|
|
38
37
|
# This is essential for projects that split tests into multiple rake tasks
|
|
@@ -53,7 +52,7 @@ SimpleCov.configure do
|
|
|
53
52
|
if Kettle::Soup::Cover::Constants::MIN_COVERAGE_HARD
|
|
54
53
|
minimum_coverage(
|
|
55
54
|
branch: Kettle::Soup::Cover::Constants::MIN_COVERAGE_BRANCH,
|
|
56
|
-
line: Kettle::Soup::Cover::Constants::MIN_COVERAGE_LINE
|
|
55
|
+
line: Kettle::Soup::Cover::Constants::MIN_COVERAGE_LINE
|
|
57
56
|
)
|
|
58
57
|
end
|
|
59
58
|
end
|
|
@@ -11,56 +11,56 @@ module Kettle
|
|
|
11
11
|
html: {
|
|
12
12
|
type: :html,
|
|
13
13
|
klass: "HTMLFormatter",
|
|
14
|
-
lib: "simplecov-html"
|
|
14
|
+
lib: "simplecov-html"
|
|
15
15
|
},
|
|
16
16
|
# XML for Jenkins
|
|
17
17
|
xml: {
|
|
18
18
|
type: :xml,
|
|
19
19
|
klass: "CoberturaFormatter",
|
|
20
|
-
lib: "simplecov-cobertura"
|
|
20
|
+
lib: "simplecov-cobertura"
|
|
21
21
|
},
|
|
22
22
|
# RCOV for Hudson
|
|
23
23
|
rcov: {
|
|
24
24
|
type: :rcov,
|
|
25
25
|
klass: "RcovFormatter",
|
|
26
|
-
lib: "simplecov-rcov"
|
|
26
|
+
lib: "simplecov-rcov"
|
|
27
27
|
},
|
|
28
28
|
# LCOV for GCOV
|
|
29
29
|
lcov: {
|
|
30
30
|
type: :lcov,
|
|
31
31
|
klass: "LcovFormatter",
|
|
32
|
-
lib: "simplecov-lcov"
|
|
32
|
+
lib: "simplecov-lcov"
|
|
33
33
|
},
|
|
34
34
|
# JSON for CodeClimate
|
|
35
35
|
json: {
|
|
36
36
|
type: :json,
|
|
37
37
|
klass: "JSONFormatter",
|
|
38
|
-
lib: "simplecov_json_formatter"
|
|
38
|
+
lib: "simplecov_json_formatter"
|
|
39
39
|
},
|
|
40
40
|
# TTY / Console output
|
|
41
41
|
tty: {
|
|
42
42
|
type: :tty,
|
|
43
43
|
klass: "Console",
|
|
44
|
-
lib: "simplecov-console"
|
|
45
|
-
}
|
|
44
|
+
lib: "simplecov-console"
|
|
45
|
+
}
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
CI = ENV.fetch("CI", FALSE)
|
|
49
|
-
IS_CI = CI.casecmp?(TRUE)
|
|
48
|
+
CI = ENV.fetch("CI", Constants::FALSE)
|
|
49
|
+
IS_CI = CI.casecmp?(Constants::TRUE)
|
|
50
50
|
COMMAND_NAME = ENV_GET.call("COMMAND_NAME", "RSpec (COVERAGE)")
|
|
51
51
|
COVERAGE_ROOT_DIR = ENV_GET.call("DIR", "coverage")
|
|
52
|
-
DEBUG = ENV_GET.call("DEBUG", FALSE).casecmp?(TRUE)
|
|
53
|
-
DO_COV = ENV_GET.call("DO", CI).casecmp?(TRUE)
|
|
52
|
+
DEBUG = ENV_GET.call("DEBUG", Constants::FALSE).casecmp?(Constants::TRUE)
|
|
53
|
+
DO_COV = ENV_GET.call("DO", CI).casecmp?(Constants::TRUE)
|
|
54
54
|
FILTER_DIRS = ENV_GET.call(
|
|
55
55
|
"FILTER_DIRS",
|
|
56
|
-
"bin,certs,checksums,config,coverage,docs,features,gemfiles,pkg,results,sig,spec,src,test,test-results,vendor"
|
|
56
|
+
"bin,certs,checksums,config,coverage,docs,features,gemfiles,pkg,results,sig,spec,src,test,test-results,vendor"
|
|
57
57
|
)
|
|
58
58
|
.split(",")
|
|
59
59
|
.map { |dir_name| %r{^/#{Regexp.escape(dir_name)}/} }
|
|
60
60
|
FORMATTERS = begin
|
|
61
61
|
list = ENV_GET.call(
|
|
62
62
|
"FORMATTERS",
|
|
63
|
-
IS_CI ? "html,xml,rcov,lcov,json,tty" : "html,tty"
|
|
63
|
+
IS_CI ? "html,xml,rcov,lcov,json,tty" : "html,tty"
|
|
64
64
|
)
|
|
65
65
|
.split(",")
|
|
66
66
|
.map { |fmt_name| FORMATTER_PLUGINS[fmt_name.strip.to_sym] }
|
|
@@ -77,16 +77,16 @@ module Kettle
|
|
|
77
77
|
MIN_COVERAGE_BRANCH = ENV_GET.call("MIN_BRANCH", "80").to_i
|
|
78
78
|
MIN_COVERAGE_LINE = ENV_GET.call("MIN_LINE", "80").to_i
|
|
79
79
|
MULTI_FORMATTERS_DEFAULT = if IS_CI
|
|
80
|
-
TRUE
|
|
80
|
+
Constants::TRUE
|
|
81
81
|
else
|
|
82
|
-
FORMATTERS.any? ? TRUE : FALSE
|
|
82
|
+
FORMATTERS.any? ? Constants::TRUE : Constants::FALSE
|
|
83
83
|
end
|
|
84
|
-
MULTI_FORMATTERS = ENV_GET.call("MULTI_FORMATTERS", MULTI_FORMATTERS_DEFAULT).casecmp?(TRUE)
|
|
84
|
+
MULTI_FORMATTERS = ENV_GET.call("MULTI_FORMATTERS", MULTI_FORMATTERS_DEFAULT).casecmp?(Constants::TRUE)
|
|
85
85
|
TEST_ENV_NUMBER = ENV.fetch("TEST_ENV_NUMBER", "")
|
|
86
|
-
TURBO_TESTS = ENV_GET.call("TURBO_TESTS", TRUE).casecmp?(TRUE)
|
|
86
|
+
TURBO_TESTS = ENV_GET.call("TURBO_TESTS", Constants::TRUE).casecmp?(Constants::TRUE)
|
|
87
87
|
TURBO_TESTS_DIR = ENV_GET.call("TURBO_TESTS_DIR", "turbo_tests")
|
|
88
88
|
TURBO_TESTS_WORKER = TURBO_TESTS && !TEST_ENV_NUMBER.empty?
|
|
89
|
-
MIN_COVERAGE_HARD_REQUESTED = ENV_GET.call("MIN_HARD", CI).casecmp?(TRUE)
|
|
89
|
+
MIN_COVERAGE_HARD_REQUESTED = ENV_GET.call("MIN_HARD", CI).casecmp?(Constants::TRUE)
|
|
90
90
|
MIN_COVERAGE_HARD = MIN_COVERAGE_HARD_REQUESTED && !TURBO_TESTS_WORKER
|
|
91
91
|
COVERAGE_DIR = if TURBO_TESTS_WORKER
|
|
92
92
|
File.join(COVERAGE_ROOT_DIR, TURBO_TESTS_DIR, TEST_ENV_NUMBER)
|
|
@@ -111,16 +111,16 @@ module Kettle
|
|
|
111
111
|
# IMPORTANT: set K_SOUP_COV_CLEAN_RESULTSET=false in .simplecov_spawn.rb (or
|
|
112
112
|
# equivalent) so that spawned subprocesses do not wipe the resultset that the
|
|
113
113
|
# main process and sibling spawns are accumulating.
|
|
114
|
-
CLEAN_RESULTSET_DEFAULT = (IS_CI || TURBO_TESTS_WORKER) ? FALSE : TRUE
|
|
115
|
-
CLEAN_RESULTSET = ENV_GET.call("CLEAN_RESULTSET", CLEAN_RESULTSET_DEFAULT).casecmp?(TRUE)
|
|
114
|
+
CLEAN_RESULTSET_DEFAULT = (IS_CI || TURBO_TESTS_WORKER) ? Constants::FALSE : Constants::TRUE
|
|
115
|
+
CLEAN_RESULTSET = ENV_GET.call("CLEAN_RESULTSET", CLEAN_RESULTSET_DEFAULT).casecmp?(Constants::TRUE)
|
|
116
116
|
# Enable merging by default to aggregate coverage across multiple test runs
|
|
117
117
|
# (e.g., separate RSpec tasks for FFI tests, integration tests, unit tests)
|
|
118
118
|
# Set K_SOUP_COV_USE_MERGING=false to disable
|
|
119
|
-
USE_MERGING = ENV_GET.call("USE_MERGING", TRUE).casecmp?(TRUE)
|
|
119
|
+
USE_MERGING = ENV_GET.call("USE_MERGING", Constants::TRUE).casecmp?(Constants::TRUE)
|
|
120
120
|
# Default merge timeout of 1 hour (3600 seconds) - enough for most test suites
|
|
121
121
|
# Set K_SOUP_COV_MERGE_TIMEOUT to override
|
|
122
122
|
MERGE_TIMEOUT = ENV_GET.call("MERGE_TIMEOUT", "3600").to_i
|
|
123
|
-
VERBOSE = ENV_GET.call("VERBOSE", FALSE).casecmp?(TRUE)
|
|
123
|
+
VERBOSE = ENV_GET.call("VERBOSE", Constants::FALSE).casecmp?(Constants::TRUE)
|
|
124
124
|
|
|
125
125
|
include Kettle::Change.new(
|
|
126
126
|
constants: %w[
|
|
@@ -155,7 +155,7 @@ module Kettle
|
|
|
155
155
|
USE_MERGING
|
|
156
156
|
VERBOSE
|
|
157
157
|
],
|
|
158
|
-
path: "kettle/soup/cover/constants.rb"
|
|
158
|
+
path: "kettle/soup/cover/constants.rb"
|
|
159
159
|
)
|
|
160
160
|
end
|
|
161
161
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Kettle
|
|
4
|
+
module Soup
|
|
5
|
+
module Cover
|
|
6
|
+
module_function
|
|
7
|
+
|
|
8
|
+
def configure_formatters!
|
|
9
|
+
if Constants::TURBO_TESTS_WORKER
|
|
10
|
+
SimpleCov.at_exit { SimpleCov.result }
|
|
11
|
+
elsif Constants::MULTI_FORMATTERS
|
|
12
|
+
Kettle::Soup::Cover::Loaders.load_formatters
|
|
13
|
+
else
|
|
14
|
+
require "simplecov-html"
|
|
15
|
+
SimpleCov.formatter(SimpleCov::Formatter::HTMLFormatter)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -13,3 +13,11 @@ namespace :turbo_tests do
|
|
|
13
13
|
Kettle::Soup::Cover.collate_turbo_tests_coverage!
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
|
+
|
|
17
|
+
namespace :turbo_tests2 do
|
|
18
|
+
desc "Prepare isolated coverage output for turbo_tests2 workers"
|
|
19
|
+
task setup: "turbo_tests:setup"
|
|
20
|
+
|
|
21
|
+
desc "Collate turbo_tests2 worker coverage reports"
|
|
22
|
+
task cleanup: "turbo_tests:cleanup"
|
|
23
|
+
end
|
data/lib/kettle/soup/cover.rb
CHANGED
|
@@ -28,6 +28,7 @@ require_relative "cover/version"
|
|
|
28
28
|
|
|
29
29
|
require_relative "cover/constants"
|
|
30
30
|
require_relative "cover/loaders"
|
|
31
|
+
require_relative "cover/formatters"
|
|
31
32
|
|
|
32
33
|
module Kettle
|
|
33
34
|
module Soup
|
|
@@ -103,17 +104,12 @@ module Kettle
|
|
|
103
104
|
add_filter(Constants::FILTER_DIRS)
|
|
104
105
|
coverage_dir(File.expand_path(coverage_dir, project_root))
|
|
105
106
|
|
|
106
|
-
|
|
107
|
-
Kettle::Soup::Cover::Loaders.load_formatters
|
|
108
|
-
else
|
|
109
|
-
require "simplecov-html"
|
|
110
|
-
formatter(SimpleCov::Formatter::HTMLFormatter)
|
|
111
|
-
end
|
|
107
|
+
Kettle::Soup::Cover.configure_formatters!
|
|
112
108
|
|
|
113
109
|
if Constants::MIN_COVERAGE_HARD
|
|
114
110
|
minimum_coverage(
|
|
115
111
|
branch: Constants::MIN_COVERAGE_BRANCH,
|
|
116
|
-
line: Constants::MIN_COVERAGE_LINE
|
|
112
|
+
line: Constants::MIN_COVERAGE_LINE
|
|
117
113
|
)
|
|
118
114
|
end
|
|
119
115
|
end
|
|
@@ -129,7 +125,7 @@ module Kettle
|
|
|
129
125
|
|
|
130
126
|
merged = {
|
|
131
127
|
"meta" => {},
|
|
132
|
-
"coverage" => {}
|
|
128
|
+
"coverage" => {}
|
|
133
129
|
}
|
|
134
130
|
paths.sort_by { |path| File.basename(File.dirname(path)).to_i }.each do |path|
|
|
135
131
|
data = JSON.parse(File.read(path))
|
|
@@ -191,7 +187,7 @@ module Kettle
|
|
|
191
187
|
"#{Constants::PREFIX}FORMATTERS" => "json",
|
|
192
188
|
"#{Constants::PREFIX}MIN_HARD" => Constants::FALSE,
|
|
193
189
|
"#{Constants::PREFIX}MULTI_FORMATTERS" => Constants::TRUE,
|
|
194
|
-
"#{Constants::PREFIX}OPEN_BIN" => ""
|
|
190
|
+
"#{Constants::PREFIX}OPEN_BIN" => ""
|
|
195
191
|
}
|
|
196
192
|
end
|
|
197
193
|
|
|
@@ -205,7 +201,7 @@ module Kettle
|
|
|
205
201
|
"coverage",
|
|
206
202
|
chdir: project_root,
|
|
207
203
|
out: out,
|
|
208
|
-
err: err
|
|
204
|
+
err: err
|
|
209
205
|
)
|
|
210
206
|
return if success
|
|
211
207
|
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-soup-cover
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -44,6 +44,9 @@ dependencies:
|
|
|
44
44
|
- - "~>"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: '0.22'
|
|
47
|
+
- - ">="
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: 0.22.0
|
|
47
50
|
type: :runtime
|
|
48
51
|
prerelease: false
|
|
49
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -51,20 +54,29 @@ dependencies:
|
|
|
51
54
|
- - "~>"
|
|
52
55
|
- !ruby/object:Gem::Version
|
|
53
56
|
version: '0.22'
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: 0.22.0
|
|
54
60
|
- !ruby/object:Gem::Dependency
|
|
55
61
|
name: simplecov-cobertura
|
|
56
62
|
requirement: !ruby/object:Gem::Requirement
|
|
57
63
|
requirements:
|
|
58
64
|
- - "~>"
|
|
59
65
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '3.
|
|
66
|
+
version: '3.1'
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: 3.1.0
|
|
61
70
|
type: :runtime
|
|
62
71
|
prerelease: false
|
|
63
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
73
|
requirements:
|
|
65
74
|
- - "~>"
|
|
66
75
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '3.
|
|
76
|
+
version: '3.1'
|
|
77
|
+
- - ">="
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: 3.1.0
|
|
68
80
|
- !ruby/object:Gem::Dependency
|
|
69
81
|
name: simplecov-console
|
|
70
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -74,7 +86,7 @@ dependencies:
|
|
|
74
86
|
version: '0.9'
|
|
75
87
|
- - ">="
|
|
76
88
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: 0.9.
|
|
89
|
+
version: 0.9.5
|
|
78
90
|
type: :runtime
|
|
79
91
|
prerelease: false
|
|
80
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -84,7 +96,7 @@ dependencies:
|
|
|
84
96
|
version: '0.9'
|
|
85
97
|
- - ">="
|
|
86
98
|
- !ruby/object:Gem::Version
|
|
87
|
-
version: 0.9.
|
|
99
|
+
version: 0.9.5
|
|
88
100
|
- !ruby/object:Gem::Dependency
|
|
89
101
|
name: simplecov-html
|
|
90
102
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,7 +106,7 @@ dependencies:
|
|
|
94
106
|
version: '0.13'
|
|
95
107
|
- - ">="
|
|
96
108
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: 0.13.
|
|
109
|
+
version: 0.13.2
|
|
98
110
|
type: :runtime
|
|
99
111
|
prerelease: false
|
|
100
112
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -104,7 +116,7 @@ dependencies:
|
|
|
104
116
|
version: '0.13'
|
|
105
117
|
- - ">="
|
|
106
118
|
- !ruby/object:Gem::Version
|
|
107
|
-
version: 0.13.
|
|
119
|
+
version: 0.13.2
|
|
108
120
|
- !ruby/object:Gem::Dependency
|
|
109
121
|
name: simplecov_json_formatter
|
|
110
122
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -131,14 +143,20 @@ dependencies:
|
|
|
131
143
|
requirements:
|
|
132
144
|
- - "~>"
|
|
133
145
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '0.
|
|
146
|
+
version: '0.9'
|
|
147
|
+
- - ">="
|
|
148
|
+
- !ruby/object:Gem::Version
|
|
149
|
+
version: 0.9.0
|
|
135
150
|
type: :runtime
|
|
136
151
|
prerelease: false
|
|
137
152
|
version_requirements: !ruby/object:Gem::Requirement
|
|
138
153
|
requirements:
|
|
139
154
|
- - "~>"
|
|
140
155
|
- !ruby/object:Gem::Version
|
|
141
|
-
version: '0.
|
|
156
|
+
version: '0.9'
|
|
157
|
+
- - ">="
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: 0.9.0
|
|
142
160
|
- !ruby/object:Gem::Dependency
|
|
143
161
|
name: simplecov-rcov
|
|
144
162
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -186,6 +204,9 @@ dependencies:
|
|
|
186
204
|
- - "~>"
|
|
187
205
|
- !ruby/object:Gem::Version
|
|
188
206
|
version: '2.0'
|
|
207
|
+
- - ">="
|
|
208
|
+
- !ruby/object:Gem::Version
|
|
209
|
+
version: 2.0.7
|
|
189
210
|
type: :development
|
|
190
211
|
prerelease: false
|
|
191
212
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -193,6 +214,9 @@ dependencies:
|
|
|
193
214
|
- - "~>"
|
|
194
215
|
- !ruby/object:Gem::Version
|
|
195
216
|
version: '2.0'
|
|
217
|
+
- - ">="
|
|
218
|
+
- !ruby/object:Gem::Version
|
|
219
|
+
version: 2.0.7
|
|
196
220
|
- !ruby/object:Gem::Dependency
|
|
197
221
|
name: bundler-audit
|
|
198
222
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -213,14 +237,20 @@ dependencies:
|
|
|
213
237
|
requirements:
|
|
214
238
|
- - "~>"
|
|
215
239
|
- !ruby/object:Gem::Version
|
|
216
|
-
version: '13.
|
|
240
|
+
version: '13.4'
|
|
241
|
+
- - ">="
|
|
242
|
+
- !ruby/object:Gem::Version
|
|
243
|
+
version: 13.4.2
|
|
217
244
|
type: :development
|
|
218
245
|
prerelease: false
|
|
219
246
|
version_requirements: !ruby/object:Gem::Requirement
|
|
220
247
|
requirements:
|
|
221
248
|
- - "~>"
|
|
222
249
|
- !ruby/object:Gem::Version
|
|
223
|
-
version: '13.
|
|
250
|
+
version: '13.4'
|
|
251
|
+
- - ">="
|
|
252
|
+
- !ruby/object:Gem::Version
|
|
253
|
+
version: 13.4.2
|
|
224
254
|
- !ruby/object:Gem::Dependency
|
|
225
255
|
name: require_bench
|
|
226
256
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -270,7 +300,7 @@ dependencies:
|
|
|
270
300
|
version: '2.0'
|
|
271
301
|
- - ">="
|
|
272
302
|
- !ruby/object:Gem::Version
|
|
273
|
-
version: 2.0.
|
|
303
|
+
version: 2.0.2
|
|
274
304
|
type: :development
|
|
275
305
|
prerelease: false
|
|
276
306
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -280,7 +310,7 @@ dependencies:
|
|
|
280
310
|
version: '2.0'
|
|
281
311
|
- - ">="
|
|
282
312
|
- !ruby/object:Gem::Version
|
|
283
|
-
version: 2.0.
|
|
313
|
+
version: 2.0.2
|
|
284
314
|
- !ruby/object:Gem::Dependency
|
|
285
315
|
name: ruby-progressbar
|
|
286
316
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -321,20 +351,20 @@ dependencies:
|
|
|
321
351
|
requirements:
|
|
322
352
|
- - "~>"
|
|
323
353
|
- !ruby/object:Gem::Version
|
|
324
|
-
version: '
|
|
354
|
+
version: '2.0'
|
|
325
355
|
- - ">="
|
|
326
356
|
- !ruby/object:Gem::Version
|
|
327
|
-
version:
|
|
357
|
+
version: 2.0.1
|
|
328
358
|
type: :development
|
|
329
359
|
prerelease: false
|
|
330
360
|
version_requirements: !ruby/object:Gem::Requirement
|
|
331
361
|
requirements:
|
|
332
362
|
- - "~>"
|
|
333
363
|
- !ruby/object:Gem::Version
|
|
334
|
-
version: '
|
|
364
|
+
version: '2.0'
|
|
335
365
|
- - ">="
|
|
336
366
|
- !ruby/object:Gem::Version
|
|
337
|
-
version:
|
|
367
|
+
version: 2.0.1
|
|
338
368
|
description: "\U0001F958 A Covered Kettle of Test Coverage SOUP (Software of Unknown
|
|
339
369
|
Provenance)\nFour-line SimpleCov config, w/ curated, opinionated, pre-configured,
|
|
340
370
|
dependencies\nfor every CI platform, batteries included.\nFund overlooked open source
|
|
@@ -373,6 +403,7 @@ files:
|
|
|
373
403
|
- lib/kettle/soup/cover/constants.rb
|
|
374
404
|
- lib/kettle/soup/cover/filters/gt_line_filter.rb
|
|
375
405
|
- lib/kettle/soup/cover/filters/lt_line_filter.rb
|
|
406
|
+
- lib/kettle/soup/cover/formatters.rb
|
|
376
407
|
- lib/kettle/soup/cover/loaders.rb
|
|
377
408
|
- lib/kettle/soup/cover/rakelib/coverage.rake
|
|
378
409
|
- lib/kettle/soup/cover/rakelib/turbo_tests.rake
|
|
@@ -385,10 +416,10 @@ licenses:
|
|
|
385
416
|
- AGPL-3.0-only
|
|
386
417
|
metadata:
|
|
387
418
|
homepage_uri: https://kettle-soup-cover.galtzo.com/
|
|
388
|
-
source_code_uri: https://github.com/kettle-rb/kettle-soup-cover/tree/
|
|
389
|
-
changelog_uri: https://github.com/kettle-rb/kettle-soup-cover/blob/
|
|
419
|
+
source_code_uri: https://github.com/kettle-rb/kettle-soup-cover/tree/v2.0.1
|
|
420
|
+
changelog_uri: https://github.com/kettle-rb/kettle-soup-cover/blob/v2.0.1/CHANGELOG.md
|
|
390
421
|
bug_tracker_uri: https://github.com/kettle-rb/kettle-soup-cover/issues
|
|
391
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-soup-cover/
|
|
422
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-soup-cover/2.0.1
|
|
392
423
|
funding_uri: https://github.com/sponsors/pboling
|
|
393
424
|
wiki_uri: https://github.com/kettle-rb/kettle-soup-cover/wiki
|
|
394
425
|
news_uri: https://www.railsbling.com/tags/kettle-soup-cover
|
|
@@ -411,7 +442,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
411
442
|
requirements:
|
|
412
443
|
- - ">="
|
|
413
444
|
- !ruby/object:Gem::Version
|
|
414
|
-
version: 2.
|
|
445
|
+
version: 3.2.0
|
|
415
446
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
416
447
|
requirements:
|
|
417
448
|
- - ">="
|
metadata.gz.sig
CHANGED
|
Binary file
|