kettle-test 1.0.7 → 1.0.8
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 +20 -1
- data/README.md +30 -55
- data/lib/kettle/test/config/int/rspec/silent_stream.rb +4 -0
- data/lib/kettle/test/internal.rb +1 -0
- data/lib/kettle/test/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +7 -7
- 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: 8873d02c97ae25125b1bd5e28afb7d39569147ecf825a7ee9b1a3bf683625f00
|
|
4
|
+
data.tar.gz: ffa4fb9d179b2c50aaee2916fb1d62f38d1b8f8223b2860b8f70fc6558cf19ed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 047db72c8c38f6ff2452a02ac8e3faeebdc38a582ea052ade396114df0d367ccdc83307dc11e083347813a7b87d7febdfda210d454f549ccd8968f353a5cea77
|
|
7
|
+
data.tar.gz: dacda95d681dc7cf866dd14d3fb13abdaff14d72771bbada906654e9231f7ce6df2db0c352537443053f29b2fe0a52c27b0167760153dae50faa8c25e5aebc99
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,23 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.0.8] - 2026-02-06
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.0.8][1.0.8t]
|
|
36
|
+
- COVERAGE: 100.00% -- 86/86 lines in 15 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 2/2 branches in 15 files
|
|
38
|
+
- 100.00% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- rspec/pending_for made available by default
|
|
43
|
+
- `skip_for` and `pending_for` are now available by default, without needing to explicitly require 'rspec/pending_for'
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- Updated documentation on hostile takeover of RubyGems
|
|
48
|
+
- https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo
|
|
49
|
+
|
|
33
50
|
## [1.0.7] - 2025-12-06
|
|
34
51
|
|
|
35
52
|
- TAG: [v1.0.7][1.0.7t]
|
|
@@ -157,7 +174,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
157
174
|
- silent_stream
|
|
158
175
|
- timecop-rspec
|
|
159
176
|
|
|
160
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-test/compare/v1.0.
|
|
177
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-test/compare/v1.0.8...HEAD
|
|
178
|
+
[1.0.8]: https://github.com/kettle-rb/kettle-test/compare/v1.0.7...v1.0.8
|
|
179
|
+
[1.0.8t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.8
|
|
161
180
|
[1.0.7]: https://github.com/kettle-rb/kettle-test/compare/v1.0.6...v1.0.7
|
|
162
181
|
[1.0.7t]: https://github.com/kettle-rb/kettle-test/releases/tag/v1.0.7
|
|
163
182
|
[1.0.6]: https://github.com/kettle-rb/kettle-test/compare/v1.0.5...v1.0.6
|
data/README.md
CHANGED
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
| 📍 NOTE |
|
|
2
|
-
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
-
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
|
|
4
|
-
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
|
|
5
|
-
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
6
|
-
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
|
|
7
|
-
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
|
|
8
|
-
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
|
|
9
|
-
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
|
|
10
|
-
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
|
|
11
|
-
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
|
|
12
|
-
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
|
|
13
|
-
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
|
|
14
|
-
|
|
15
|
-
[rubygems-org]: https://github.com/rubygems/
|
|
16
|
-
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
17
|
-
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
|
|
18
|
-
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
|
|
19
|
-
[simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
|
|
20
|
-
[martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
|
|
21
|
-
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
|
|
22
|
-
[draper-theft]: https://joel.drapper.me/p/ruby-central/
|
|
23
|
-
[reinteractive]: https://reinteractive.com/ruby-on-rails
|
|
24
|
-
[gem-coop]: https://gem.coop
|
|
25
|
-
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
|
|
26
|
-
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
|
|
27
|
-
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
28
|
-
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
29
|
-
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
30
|
-
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
|
|
31
|
-
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
|
|
32
|
-
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
33
|
-
|
|
34
1
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-test Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-test-i]][🖼️kettle-test]
|
|
35
2
|
|
|
36
3
|
[🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
|
|
@@ -52,6 +19,13 @@
|
|
|
52
19
|
|
|
53
20
|
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
54
21
|
|
|
22
|
+
<details>
|
|
23
|
+
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
24
|
+
|
|
25
|
+
I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
|
|
26
|
+
|
|
27
|
+
</details>
|
|
28
|
+
|
|
55
29
|
## 🌻 Synopsis
|
|
56
30
|
|
|
57
31
|
Add to your `spec/spec_helper.rb`:
|
|
@@ -124,7 +98,7 @@ Compatible with MRI Ruby 2.3.0+, and concordant releases of JRuby, and TruffleRu
|
|
|
124
98
|
|
|
125
99
|
[gh-discussions]: https://github.com/kettle-rb/kettle-test/discussions
|
|
126
100
|
|
|
127
|
-
### Enterprise Support []
|
|
101
|
+
### Enterprise Support [][🏙️entsup-tidelift]
|
|
128
102
|
|
|
129
103
|
Available as part of the Tidelift Subscription.
|
|
130
104
|
|
|
@@ -226,8 +200,8 @@ That's it! Additional customizations can be done by setting environment variabl
|
|
|
226
200
|
Below are the environment variables recognized by kettle-test. Unless otherwise specified, set values to the string "true" to enable a boolean feature, or provide the noted type.
|
|
227
201
|
|
|
228
202
|
- DEBUG (String: "true"/"false")
|
|
229
|
-
|
|
230
|
-
|
|
203
|
+
- Overrides default silencing for the entire run; when true, STDOUT/STDERR are not silenced by this library.
|
|
204
|
+
- Default: "false". If KETTLE_TEST_DEBUG is not set, DEBUG is used.
|
|
231
205
|
- GLOBAL_TIME_TRAVEL_TIME (String: Date/Time)
|
|
232
206
|
- Global start time for Timecop across examples when using time travel.
|
|
233
207
|
- Example: "2014-11-15" or "2014-11-15 13:45:00".
|
|
@@ -236,30 +210,30 @@ Below are the environment variables recognized by kettle-test. Unless otherwise
|
|
|
236
210
|
- Alternate way to set a global date used when GLOBAL_TIME_TRAVEL_TIME is not provided.
|
|
237
211
|
- Default: today (Date.today.to_s).
|
|
238
212
|
- KETTLE_TEST_DEBUG (String: "true"/"false")
|
|
239
|
-
|
|
240
|
-
|
|
213
|
+
- Same as DEBUG but namespaced for this gem. Takes precedence over DEBUG.
|
|
214
|
+
- Default: "false".
|
|
241
215
|
- CI (String: "true"/"false")
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
216
|
+
- Signals a CI environment. When true, examples tagged :skip_ci are excluded.
|
|
217
|
+
- Also used as the default for KETTLE_TEST_SILENT when not set.
|
|
218
|
+
- Default: unset/empty → treated as false.
|
|
245
219
|
- KETTLE_TEST_SILENT (String: "true"/"false")
|
|
246
|
-
|
|
247
|
-
|
|
220
|
+
- Controls silencing of STDOUT/STDERR during specs (unless :check_output is used or DEBUG is true).
|
|
221
|
+
- Default: value of CI (true on CI, false locally unless CI=true).
|
|
248
222
|
- KETTLE_TEST_VERBOSE (String: "true"/"false")
|
|
249
|
-
|
|
223
|
+
- Reserved for future verbose logging toggles. Default: "false".
|
|
250
224
|
- KETTLE_TEST_FULL_BACKTRACE (String: "true"/"false")
|
|
251
|
-
|
|
252
|
-
|
|
225
|
+
- When true, enables RSpec full backtraces.
|
|
226
|
+
- Default: "false".
|
|
253
227
|
- KETTLE_TEST_RSPEC_PROFILE_EXAMPLES (Integer as String)
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
228
|
+
- When > 0, RSpec will profile the slowest N examples or example groups.
|
|
229
|
+
- Example: KETTLE_TEST_RSPEC_PROFILE_EXAMPLES=10
|
|
230
|
+
- Default: "0" (disabled).
|
|
257
231
|
- KETTLE_TEST_TM_SEQUENTIAL (String: "true"/"false")
|
|
258
232
|
- Controls Timecop sequential time machine mode for RSpec examples (see below).
|
|
259
233
|
- Default: "true".
|
|
260
234
|
- PARALLEL_TEST_FIRST_IS_1 (String: "true"/"false") and TEST_ENV_NUMBER (String)
|
|
261
|
-
|
|
262
|
-
|
|
235
|
+
- Used to detect parallel test runs via Kettle::Test.is_parallel_test?. Not generally required to set manually.
|
|
236
|
+
- Default: unset (treated as non-parallel unless provided by your parallel test runner).
|
|
263
237
|
|
|
264
238
|
### TimeCop-RSpec
|
|
265
239
|
|
|
@@ -303,6 +277,7 @@ except that it will sometimes resume time travel.
|
|
|
303
277
|
|
|
304
278
|
Global travel will always resume from when the previous global traveled
|
|
305
279
|
example ended. E.g.
|
|
280
|
+
|
|
306
281
|
```ruby
|
|
307
282
|
# GLOBAL_TIME_TRAVEL_TIME=2014-11-15 bundle exec rspec some_spec.rb
|
|
308
283
|
|
|
@@ -362,6 +337,7 @@ end
|
|
|
362
337
|
Following spec's local travel will resume when specified time is the same as the
|
|
363
338
|
previous examples specified time. If the time is different, it will
|
|
364
339
|
start from the current examples specified time.
|
|
340
|
+
|
|
365
341
|
```ruby
|
|
366
342
|
describe SomeUnit, travel: Time.new(2014, 11, 15) do
|
|
367
343
|
it "example 1" do
|
|
@@ -476,7 +452,7 @@ and [Tidelift][🏙️entsup-tidelift].
|
|
|
476
452
|
|
|
477
453
|
### Open Collective for Individuals
|
|
478
454
|
|
|
479
|
-
Support us with a monthly donation and help us continue our activities. [[Become a backer]
|
|
455
|
+
Support us with a monthly donation and help us continue our activities. [[Become a backer][🖇osc-backers]]
|
|
480
456
|
|
|
481
457
|
NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
|
|
482
458
|
|
|
@@ -486,7 +462,7 @@ No backers yet. Be the first!
|
|
|
486
462
|
|
|
487
463
|
### Open Collective for Organizations
|
|
488
464
|
|
|
489
|
-
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor]
|
|
465
|
+
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor][🖇osc-sponsors]]
|
|
490
466
|
|
|
491
467
|
NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
|
|
492
468
|
|
|
@@ -673,7 +649,6 @@ Thanks for RTFM. ☺️
|
|
|
673
649
|
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
|
|
674
650
|
[✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
|
|
675
651
|
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
676
|
-
|
|
677
652
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
678
653
|
[⛳️gem-namespace]: https://github.com/kettle-rb/kettle-test
|
|
679
654
|
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Kettle::Test-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
|
@@ -820,7 +795,7 @@ Thanks for RTFM. ☺️
|
|
|
820
795
|
[📌gitmoji]: https://gitmoji.dev
|
|
821
796
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
822
797
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
823
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
798
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.086-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
824
799
|
[🔐security]: SECURITY.md
|
|
825
800
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
826
801
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -7,6 +7,10 @@ RSpec.configure do |config|
|
|
|
7
7
|
example.run
|
|
8
8
|
# Make tests run silently, with shunted STDOUT & STDERR, if ENV var KETTLE_TEST_SILENT == "true"
|
|
9
9
|
else
|
|
10
|
+
# silence_all only silences STDOUT
|
|
11
|
+
# Alternatives:
|
|
12
|
+
# quietly also silences STDERR
|
|
13
|
+
# silence_stderr only silences STDERR
|
|
10
14
|
silence_all(Kettle::Test::SILENT) do
|
|
11
15
|
example.run
|
|
12
16
|
end
|
data/lib/kettle/test/internal.rb
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# config/int and its subfolders.
|
|
5
5
|
# Files in config/ext may depend on this library's internals.
|
|
6
6
|
require_relative "config/int/rspec_block_is_expected"
|
|
7
|
+
require_relative "config/int/rspec_pending_for"
|
|
7
8
|
require_relative "config/int/rspec/rspec_core"
|
|
8
9
|
require_relative "config/int/rspec/silent_stream"
|
|
9
10
|
|
data/lib/kettle/test/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-test
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -219,14 +219,14 @@ dependencies:
|
|
|
219
219
|
requirements:
|
|
220
220
|
- - "~>"
|
|
221
221
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: 1.
|
|
222
|
+
version: 1.2.4
|
|
223
223
|
type: :development
|
|
224
224
|
prerelease: false
|
|
225
225
|
version_requirements: !ruby/object:Gem::Requirement
|
|
226
226
|
requirements:
|
|
227
227
|
- - "~>"
|
|
228
228
|
- !ruby/object:Gem::Version
|
|
229
|
-
version: 1.
|
|
229
|
+
version: 1.2.4
|
|
230
230
|
- !ruby/object:Gem::Dependency
|
|
231
231
|
name: bundler-audit
|
|
232
232
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -418,10 +418,10 @@ licenses:
|
|
|
418
418
|
- MIT
|
|
419
419
|
metadata:
|
|
420
420
|
homepage_uri: https://kettle-test.galtzo.com/
|
|
421
|
-
source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v1.0.
|
|
422
|
-
changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.
|
|
421
|
+
source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v1.0.8
|
|
422
|
+
changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.8/CHANGELOG.md
|
|
423
423
|
bug_tracker_uri: https://github.com/kettle-rb/kettle-test/issues
|
|
424
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-test/1.0.
|
|
424
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-test/1.0.8
|
|
425
425
|
funding_uri: https://github.com/sponsors/pboling
|
|
426
426
|
wiki_uri: https://github.com/kettle-rb/kettle-test/wiki
|
|
427
427
|
news_uri: https://www.railsbling.com/tags/kettle-test
|
|
@@ -450,7 +450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
450
450
|
- !ruby/object:Gem::Version
|
|
451
451
|
version: '0'
|
|
452
452
|
requirements: []
|
|
453
|
-
rubygems_version:
|
|
453
|
+
rubygems_version: 4.0.5
|
|
454
454
|
specification_version: 4
|
|
455
455
|
summary: "\U0001F372 A kettle-rb meta tool to streamline testing"
|
|
456
456
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|