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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 480c14b6dddd95cbb82eb12f607125e1115d3c990984ef0bd934dc3b077fd8d1
4
- data.tar.gz: 69efe9d622290df8b6b0093ff18d4ef276d98b2264783c8d67c6b7d80b6038d3
3
+ metadata.gz: 8873d02c97ae25125b1bd5e28afb7d39569147ecf825a7ee9b1a3bf683625f00
4
+ data.tar.gz: ffa4fb9d179b2c50aaee2916fb1d62f38d1b8f8223b2860b8f70fc6558cf19ed
5
5
  SHA512:
6
- metadata.gz: 9e4844be650613c3d6540e43fab7e57e1ef1c17547db6939b0e03a37904b7a027d83e2d92173bf9b98ca624bfffe77f38bd0a4c95c5c3af95fdd7b288241e328
7
- data.tar.gz: c6ca9370323b280fd8b7aaba6c76b9601557f443983f549a9f76afb583c704ffe88ebe6b1a01b0d6d7fa80761a0adedc0abf2676e8b4a768eef81f5d17797df6
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.7...HEAD
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 [![Tidelift](https://tidelift.com/badges/package/rubygems/kettle-test)](https://tidelift.com/subscription/pkg/rubygems-kettle-test?utm_source=rubygems-kettle-test&utm_medium=referral&utm_campaign=readme)
101
+ ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/kettle-test)][🏙️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
- - Overrides default silencing for the entire run; when true, STDOUT/STDERR are not silenced by this library.
230
- - Default: "false". If KETTLE_TEST_DEBUG is not set, DEBUG is used.
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
- - Same as DEBUG but namespaced for this gem. Takes precedence over DEBUG.
240
- - Default: "false".
213
+ - Same as DEBUG but namespaced for this gem. Takes precedence over DEBUG.
214
+ - Default: "false".
241
215
  - CI (String: "true"/"false")
242
- - Signals a CI environment. When true, examples tagged :skip_ci are excluded.
243
- - Also used as the default for KETTLE_TEST_SILENT when not set.
244
- - Default: unset/empty → treated as false.
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
- - Controls silencing of STDOUT/STDERR during specs (unless :check_output is used or DEBUG is true).
247
- - Default: value of CI (true on CI, false locally unless CI=true).
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
- - Reserved for future verbose logging toggles. Default: "false".
223
+ - Reserved for future verbose logging toggles. Default: "false".
250
224
  - KETTLE_TEST_FULL_BACKTRACE (String: "true"/"false")
251
- - When true, enables RSpec full backtraces.
252
- - Default: "false".
225
+ - When true, enables RSpec full backtraces.
226
+ - Default: "false".
253
227
  - KETTLE_TEST_RSPEC_PROFILE_EXAMPLES (Integer as String)
254
- - When > 0, RSpec will profile the slowest N examples or example groups.
255
- - Example: KETTLE_TEST_RSPEC_PROFILE_EXAMPLES=10
256
- - Default: "0" (disabled).
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
- - Used to detect parallel test runs via Kettle::Test.is_parallel_test?. Not generally required to set manually.
262
- - Default: unset (treated as non-parallel unless provided by your parallel test runner).
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](https://opencollective.com/kettle-rb#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](https://opencollective.com/kettle-rb#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.084-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
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
@@ -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
 
@@ -6,7 +6,7 @@ module Kettle
6
6
  module Version
7
7
  # The current version of kettle-test.
8
8
  # @return [String]
9
- VERSION = "1.0.7"
9
+ VERSION = "1.0.8"
10
10
  end
11
11
  VERSION = Version::VERSION # Traditional constant at module level
12
12
  end
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.7
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.1.60
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.1.60
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.7
422
- changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v1.0.7/CHANGELOG.md
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.7
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: 3.7.2
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