kettle-test 1.0.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +52 -1
- data/CITATION.cff +6 -6
- data/CONTRIBUTING.md +39 -31
- data/FUNDING.md +1 -1
- data/LICENSE.md +13 -0
- data/README.md +116 -197
- data/certs/pboling.pem +27 -0
- data/exe/kettle-test +7 -0
- data/exe/kettle-test.sh +191 -0
- data/lib/kettle/test/rspec.rb +8 -0
- data/lib/kettle/test/version.rb +2 -5
- data/lib/kettle/test.rb +3 -1
- data/sig/kettle/test/version.rbs +9 -0
- data.tar.gz.sig +0 -0
- metadata +68 -58
- metadata.gz.sig +0 -0
- data/LICENSE.txt +0 -21
- data/REEK +0 -0
data/exe/kettle-test.sh
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# exe/kettle-test — Run specs and emit a structured highlight summary.
|
|
3
|
+
#
|
|
4
|
+
# Provided by the kettle-test gem.
|
|
5
|
+
#
|
|
6
|
+
# Usage:
|
|
7
|
+
# bundle exec kettle-test [SPEC_ARGS...]
|
|
8
|
+
#
|
|
9
|
+
# By default this runs `bundle exec turbo_tests2`, so projects get parallel
|
|
10
|
+
# RSpec execution with the same command used by CI and Rake tasks. Set
|
|
11
|
+
# KETTLE_TEST_RUNNER=rspec to force direct `bundle exec rspec`.
|
|
12
|
+
#
|
|
13
|
+
# All arguments are forwarded to the selected runner.
|
|
14
|
+
# Output is captured, written to tmp/kettle-test/rspec-TIMESTAMP.log,
|
|
15
|
+
# and then key sections are printed to STDOUT in a compact summary block.
|
|
16
|
+
#
|
|
17
|
+
# Exit code mirrors RSpec's exit code (including coverage hard-failure).
|
|
18
|
+
#
|
|
19
|
+
# Environment variables (from kettle-soup-cover):
|
|
20
|
+
# K_SOUP_COV_DO - set to "true" to enable coverage (default: off locally)
|
|
21
|
+
# K_SOUP_COV_MIN_HARD - set to "true" to hard-fail on coverage (default: CI only)
|
|
22
|
+
# KETTLE_TEST_RUNNER - turbo_tests2 (default) or rspec
|
|
23
|
+
# KETTLE_TEST_TURBO_PROCESSES - passed to turbo_tests2 -n
|
|
24
|
+
# KETTLE_TEST_TURBO_RUNTIME_LOG - passed to turbo_tests2 --runtime-log
|
|
25
|
+
# KETTLE_TEST_TURBO_NICE - set true to pass turbo_tests2 --nice
|
|
26
|
+
#
|
|
27
|
+
# Examples:
|
|
28
|
+
# bundle exec kettle-test
|
|
29
|
+
# bundle exec kettle-test spec/my_spec.rb
|
|
30
|
+
# K_SOUP_COV_DO=true bundle exec kettle-test
|
|
31
|
+
#
|
|
32
|
+
set -euo pipefail
|
|
33
|
+
|
|
34
|
+
# ── Helpers ──────────────────────────────────────────────────────────────────
|
|
35
|
+
|
|
36
|
+
RED='\033[0;31m'
|
|
37
|
+
GREEN='\033[0;32m'
|
|
38
|
+
YELLOW='\033[1;33m'
|
|
39
|
+
CYAN='\033[0;36m'
|
|
40
|
+
BOLD='\033[1m'
|
|
41
|
+
RESET='\033[0m'
|
|
42
|
+
|
|
43
|
+
hr() { printf '%s\n' "────────────────────────────────────────────────────────────────"; }
|
|
44
|
+
|
|
45
|
+
# ── Project root ──────────────────────────────────────────────────────────────
|
|
46
|
+
# When run via `bundle exec`, BUNDLE_GEMFILE points to the project's Gemfile.
|
|
47
|
+
# Fall back to the current working directory.
|
|
48
|
+
|
|
49
|
+
if [ -n "${BUNDLE_GEMFILE:-}" ]; then
|
|
50
|
+
PROJECT_ROOT="$(cd "$(dirname "$BUNDLE_GEMFILE")" && pwd)"
|
|
51
|
+
else
|
|
52
|
+
PROJECT_ROOT="$(pwd)"
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
LOG_DIR="$PROJECT_ROOT/tmp/kettle-test"
|
|
56
|
+
mkdir -p "$LOG_DIR"
|
|
57
|
+
TIMESTAMP="$(date -u +%Y%m%d-%H%M%S)"
|
|
58
|
+
RUNNER="${KETTLE_TEST_RUNNER:-turbo_tests2}"
|
|
59
|
+
LOG_FILE="$LOG_DIR/${RUNNER}-${TIMESTAMP}-$$.log"
|
|
60
|
+
|
|
61
|
+
# ── Run specs ─────────────────────────────────────────────────────────────────
|
|
62
|
+
# Run via Bundler so the project's own Gemfile is always used.
|
|
63
|
+
# We tee to the log so the full output is preserved even if the user interrupts.
|
|
64
|
+
|
|
65
|
+
rspec_exit=0
|
|
66
|
+
cd "$PROJECT_ROOT"
|
|
67
|
+
|
|
68
|
+
case "$RUNNER" in
|
|
69
|
+
turbo|turbo_tests2)
|
|
70
|
+
export PARALLEL_TEST_FIRST_IS_1="${PARALLEL_TEST_FIRST_IS_1:-true}"
|
|
71
|
+
command=(bundle exec turbo_tests2)
|
|
72
|
+
if [ -n "${KETTLE_TEST_TURBO_PROCESSES:-}" ]; then
|
|
73
|
+
command+=(-n "$KETTLE_TEST_TURBO_PROCESSES")
|
|
74
|
+
fi
|
|
75
|
+
if [ -n "${KETTLE_TEST_TURBO_RUNTIME_LOG:-}" ]; then
|
|
76
|
+
command+=(--runtime-log "$KETTLE_TEST_TURBO_RUNTIME_LOG")
|
|
77
|
+
fi
|
|
78
|
+
if [ "${KETTLE_TEST_TURBO_NICE:-false}" = "true" ]; then
|
|
79
|
+
command+=(--nice)
|
|
80
|
+
fi
|
|
81
|
+
command+=("$@")
|
|
82
|
+
;;
|
|
83
|
+
rspec)
|
|
84
|
+
command=(bundle exec rspec "$@")
|
|
85
|
+
;;
|
|
86
|
+
*)
|
|
87
|
+
printf 'Unknown KETTLE_TEST_RUNNER: %s\n' "$RUNNER" >&2
|
|
88
|
+
printf 'Supported values: turbo_tests2, turbo, rspec\n' >&2
|
|
89
|
+
exit 64
|
|
90
|
+
;;
|
|
91
|
+
esac
|
|
92
|
+
|
|
93
|
+
"${command[@]}" 2>&1 | tee "$LOG_FILE" || rspec_exit=$?
|
|
94
|
+
|
|
95
|
+
# ── Parse output ──────────────────────────────────────────────────────────────
|
|
96
|
+
|
|
97
|
+
LOG="$LOG_FILE"
|
|
98
|
+
|
|
99
|
+
# Strip ANSI escape codes for parsing
|
|
100
|
+
clean_log() { sed 's/\x1b\[[0-9;]*[mK]//g' "$LOG"; }
|
|
101
|
+
|
|
102
|
+
# Summary line: "N examples, N failures" or "N examples, N failures, N pending"
|
|
103
|
+
summary_line=$(clean_log | grep -E '^[0-9]+ example' | tail -1 || true)
|
|
104
|
+
|
|
105
|
+
# Finished timing line
|
|
106
|
+
finished_line=$(clean_log | grep -E '^Finished in' | tail -1 || true)
|
|
107
|
+
|
|
108
|
+
# Seed line
|
|
109
|
+
seed_line=$(clean_log | grep -E '^Randomized with seed' | tail -1 || true)
|
|
110
|
+
|
|
111
|
+
# Failed examples block (rspec ./path:N # description)
|
|
112
|
+
failed_block=$(clean_log | grep -E '^rspec \./.*#' || true)
|
|
113
|
+
failed_count=$(printf '%s\n' "$failed_block" | grep -c 'rspec \.' || true)
|
|
114
|
+
failed_count=${failed_count:-0}
|
|
115
|
+
|
|
116
|
+
# Coverage lines (simplecov-console output)
|
|
117
|
+
cov_line=$(clean_log | grep -E '^Line Coverage:' | tail -1 || true)
|
|
118
|
+
cov_branch=$(clean_log | grep -E '^Branch Coverage:' | tail -1 || true)
|
|
119
|
+
cov_summary=$(clean_log | grep -E '^(COVERAGE|BRANCH COVERAGE):' || true)
|
|
120
|
+
cov_hard_fail=$(clean_log | grep -iE '(minimum coverage|coverage requirement|failed.*coverage)' | tail -3 || true)
|
|
121
|
+
|
|
122
|
+
# ── Emit summary ──────────────────────────────────────────────────────────────
|
|
123
|
+
|
|
124
|
+
echo
|
|
125
|
+
hr
|
|
126
|
+
printf '%b\n' "${BOLD}[rspec_summary] Spec Run Highlights${RESET}"
|
|
127
|
+
hr
|
|
128
|
+
|
|
129
|
+
# Timing
|
|
130
|
+
if [ -n "$finished_line" ]; then
|
|
131
|
+
printf '%b\n' "${CYAN}⏱ ${finished_line}${RESET}"
|
|
132
|
+
fi
|
|
133
|
+
|
|
134
|
+
# Seed
|
|
135
|
+
if [ -n "$seed_line" ]; then
|
|
136
|
+
printf '%b\n' "${CYAN}🎲 ${seed_line}${RESET}"
|
|
137
|
+
fi
|
|
138
|
+
|
|
139
|
+
# Examples / failures / pending
|
|
140
|
+
if [ -n "$summary_line" ]; then
|
|
141
|
+
if echo "$summary_line" | grep -qE ',\s*[1-9][0-9]* failure'; then
|
|
142
|
+
printf '%b\n' "${RED}❌ ${summary_line}${RESET}"
|
|
143
|
+
else
|
|
144
|
+
printf '%b\n' "${GREEN}✅ ${summary_line}${RESET}"
|
|
145
|
+
fi
|
|
146
|
+
else
|
|
147
|
+
printf '%b\n' "${YELLOW}⚠️ No summary line found — check log: ${LOG_FILE}${RESET}"
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
# Failed examples
|
|
151
|
+
if [ "$failed_count" -gt 0 ] 2>/dev/null; then
|
|
152
|
+
echo
|
|
153
|
+
printf '%b\n' "${RED}${BOLD}Failed examples (${failed_count}):${RESET}"
|
|
154
|
+
echo "$failed_block" | while IFS= read -r line; do
|
|
155
|
+
[ -n "$line" ] && printf ' %b\n' "${RED}${line}${RESET}"
|
|
156
|
+
done
|
|
157
|
+
fi
|
|
158
|
+
|
|
159
|
+
# Coverage
|
|
160
|
+
if [ -n "$cov_line" ] || [ -n "$cov_summary" ]; then
|
|
161
|
+
echo
|
|
162
|
+
printf '%b\n' "${BOLD}Coverage:${RESET}"
|
|
163
|
+
[ -n "$cov_line" ] && printf ' %b\n' "${cov_line}"
|
|
164
|
+
[ -n "$cov_branch" ] && printf ' %b\n' "${cov_branch}"
|
|
165
|
+
if [ -n "$cov_summary" ]; then
|
|
166
|
+
echo "$cov_summary" | while IFS= read -r line; do
|
|
167
|
+
[ -n "$line" ] && printf ' %b\n' "${CYAN}${line}${RESET}"
|
|
168
|
+
done
|
|
169
|
+
fi
|
|
170
|
+
if [ -n "$cov_hard_fail" ]; then
|
|
171
|
+
echo
|
|
172
|
+
printf '%b\n' "${RED}${BOLD}Coverage hard-failure:${RESET}"
|
|
173
|
+
echo "$cov_hard_fail" | while IFS= read -r line; do
|
|
174
|
+
[ -n "$line" ] && printf ' %b\n' "${RED}${line}${RESET}"
|
|
175
|
+
done
|
|
176
|
+
fi
|
|
177
|
+
fi
|
|
178
|
+
|
|
179
|
+
# Exit code
|
|
180
|
+
echo
|
|
181
|
+
if [ "$rspec_exit" -eq 0 ]; then
|
|
182
|
+
printf '%b\n' "${GREEN}${BOLD}Exit: 0 (PASSED)${RESET}"
|
|
183
|
+
else
|
|
184
|
+
printf '%b\n' "${RED}${BOLD}Exit: ${rspec_exit} (FAILED)${RESET}"
|
|
185
|
+
fi
|
|
186
|
+
|
|
187
|
+
printf '%b\n' "${CYAN}📄 Full log: ${LOG_FILE}${RESET}"
|
|
188
|
+
hr
|
|
189
|
+
echo
|
|
190
|
+
|
|
191
|
+
exit "$rspec_exit"
|
data/lib/kettle/test/rspec.rb
CHANGED
|
@@ -4,6 +4,14 @@ require_relative "external"
|
|
|
4
4
|
# Requires external helpers, this library, then wires internal configuration.
|
|
5
5
|
require "kettle/test"
|
|
6
6
|
|
|
7
|
+
module Kettle
|
|
8
|
+
module Test
|
|
9
|
+
# Namespace for the RSpec integration entrypoint.
|
|
10
|
+
module RSpec
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
7
15
|
require_relative "internal"
|
|
8
16
|
|
|
9
17
|
# A gem's test harness should do require "rake" if it is their dependency,
|
data/lib/kettle/test/version.rb
CHANGED
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
module Kettle
|
|
4
4
|
module Test
|
|
5
|
-
# Version namespace
|
|
6
5
|
module Version
|
|
7
|
-
|
|
8
|
-
# @return [String]
|
|
9
|
-
VERSION = "1.0.9"
|
|
6
|
+
VERSION = "2.0.0"
|
|
10
7
|
end
|
|
11
|
-
VERSION = Version::VERSION # Traditional
|
|
8
|
+
VERSION = Version::VERSION # Traditional Constant Location
|
|
12
9
|
end
|
|
13
10
|
end
|
data/lib/kettle/test.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "date"
|
|
4
|
+
require "version_gem"
|
|
3
5
|
require_relative "test/version"
|
|
4
6
|
|
|
5
7
|
# Kettle namespace for the kettle-rb ecosystem of gems.
|
|
@@ -17,7 +19,7 @@ module Kettle
|
|
|
17
19
|
|
|
18
20
|
# String#casecmp? was added in Ruby 2.4, so fallback to String#casecmp
|
|
19
21
|
# @return [Boolean] whether debug mode is enabled (disables silencing)
|
|
20
|
-
DEBUG = ENV.fetch("KETTLE_TEST_DEBUG", ENV.fetch("
|
|
22
|
+
DEBUG = ENV.fetch("KETTLE_TEST_DEBUG", ENV.fetch("KETTLE_DEV_DEBUG", "false")).casecmp("true").zero?
|
|
21
23
|
# @return [Boolean] whether running in a CI environment (CI=true)
|
|
22
24
|
IS_CI = ENV.fetch("CI", "").casecmp("true").zero?
|
|
23
25
|
# @return [Boolean] when true, enables full backtraces in RSpec
|
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:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -38,39 +38,25 @@ cert_chain:
|
|
|
38
38
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
39
39
|
dependencies:
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: appraisal2
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - "~>"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '
|
|
46
|
+
version: '3.0'
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version:
|
|
49
|
+
version: 3.0.2
|
|
50
50
|
type: :runtime
|
|
51
51
|
prerelease: false
|
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
-
requirements:
|
|
54
|
-
- - "~>"
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: '1.1'
|
|
57
|
-
- - ">="
|
|
58
|
-
- !ruby/object:Gem::Version
|
|
59
|
-
version: 1.1.9
|
|
60
|
-
- !ruby/object:Gem::Dependency
|
|
61
|
-
name: appraisal2
|
|
62
|
-
requirement: !ruby/object:Gem::Requirement
|
|
63
53
|
requirements:
|
|
64
54
|
- - "~>"
|
|
65
55
|
- !ruby/object:Gem::Version
|
|
66
56
|
version: '3.0'
|
|
67
|
-
|
|
68
|
-
prerelease: false
|
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
-
requirements:
|
|
71
|
-
- - "~>"
|
|
57
|
+
- - ">="
|
|
72
58
|
- !ruby/object:Gem::Version
|
|
73
|
-
version:
|
|
59
|
+
version: 3.0.2
|
|
74
60
|
- !ruby/object:Gem::Dependency
|
|
75
61
|
name: backports
|
|
76
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -213,34 +199,68 @@ dependencies:
|
|
|
213
199
|
- - ">="
|
|
214
200
|
- !ruby/object:Gem::Version
|
|
215
201
|
version: 1.0.3
|
|
202
|
+
- !ruby/object:Gem::Dependency
|
|
203
|
+
name: turbo_tests2
|
|
204
|
+
requirement: !ruby/object:Gem::Requirement
|
|
205
|
+
requirements:
|
|
206
|
+
- - "~>"
|
|
207
|
+
- !ruby/object:Gem::Version
|
|
208
|
+
version: '3.0'
|
|
209
|
+
type: :runtime
|
|
210
|
+
prerelease: false
|
|
211
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
212
|
+
requirements:
|
|
213
|
+
- - "~>"
|
|
214
|
+
- !ruby/object:Gem::Version
|
|
215
|
+
version: '3.0'
|
|
216
|
+
- !ruby/object:Gem::Dependency
|
|
217
|
+
name: version_gem
|
|
218
|
+
requirement: !ruby/object:Gem::Requirement
|
|
219
|
+
requirements:
|
|
220
|
+
- - "~>"
|
|
221
|
+
- !ruby/object:Gem::Version
|
|
222
|
+
version: '1.1'
|
|
223
|
+
- - ">="
|
|
224
|
+
- !ruby/object:Gem::Version
|
|
225
|
+
version: 1.1.9
|
|
226
|
+
type: :runtime
|
|
227
|
+
prerelease: false
|
|
228
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
229
|
+
requirements:
|
|
230
|
+
- - "~>"
|
|
231
|
+
- !ruby/object:Gem::Version
|
|
232
|
+
version: '1.1'
|
|
233
|
+
- - ">="
|
|
234
|
+
- !ruby/object:Gem::Version
|
|
235
|
+
version: 1.1.9
|
|
216
236
|
- !ruby/object:Gem::Dependency
|
|
217
237
|
name: kettle-dev
|
|
218
238
|
requirement: !ruby/object:Gem::Requirement
|
|
219
239
|
requirements:
|
|
220
240
|
- - "~>"
|
|
221
241
|
- !ruby/object:Gem::Version
|
|
222
|
-
version:
|
|
242
|
+
version: '2.0'
|
|
223
243
|
type: :development
|
|
224
244
|
prerelease: false
|
|
225
245
|
version_requirements: !ruby/object:Gem::Requirement
|
|
226
246
|
requirements:
|
|
227
247
|
- - "~>"
|
|
228
248
|
- !ruby/object:Gem::Version
|
|
229
|
-
version:
|
|
249
|
+
version: '2.0'
|
|
230
250
|
- !ruby/object:Gem::Dependency
|
|
231
251
|
name: bundler-audit
|
|
232
252
|
requirement: !ruby/object:Gem::Requirement
|
|
233
253
|
requirements:
|
|
234
254
|
- - "~>"
|
|
235
255
|
- !ruby/object:Gem::Version
|
|
236
|
-
version: 0.9.
|
|
256
|
+
version: 0.9.3
|
|
237
257
|
type: :development
|
|
238
258
|
prerelease: false
|
|
239
259
|
version_requirements: !ruby/object:Gem::Requirement
|
|
240
260
|
requirements:
|
|
241
261
|
- - "~>"
|
|
242
262
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: 0.9.
|
|
263
|
+
version: 0.9.3
|
|
244
264
|
- !ruby/object:Gem::Dependency
|
|
245
265
|
name: rake
|
|
246
266
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -282,6 +302,9 @@ dependencies:
|
|
|
282
302
|
- - "~>"
|
|
283
303
|
- !ruby/object:Gem::Version
|
|
284
304
|
version: '3.0'
|
|
305
|
+
- - ">="
|
|
306
|
+
- !ruby/object:Gem::Version
|
|
307
|
+
version: 3.0.6
|
|
285
308
|
type: :development
|
|
286
309
|
prerelease: false
|
|
287
310
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -289,6 +312,9 @@ dependencies:
|
|
|
289
312
|
- - "~>"
|
|
290
313
|
- !ruby/object:Gem::Version
|
|
291
314
|
version: '3.0'
|
|
315
|
+
- - ">="
|
|
316
|
+
- !ruby/object:Gem::Version
|
|
317
|
+
version: 3.0.6
|
|
292
318
|
- !ruby/object:Gem::Dependency
|
|
293
319
|
name: ruby-progressbar
|
|
294
320
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -312,7 +338,7 @@ dependencies:
|
|
|
312
338
|
version: '1.0'
|
|
313
339
|
- - ">="
|
|
314
340
|
- !ruby/object:Gem::Version
|
|
315
|
-
version: 1.0.
|
|
341
|
+
version: 1.0.3
|
|
316
342
|
type: :development
|
|
317
343
|
prerelease: false
|
|
318
344
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -322,7 +348,7 @@ dependencies:
|
|
|
322
348
|
version: '1.0'
|
|
323
349
|
- - ">="
|
|
324
350
|
- !ruby/object:Gem::Version
|
|
325
|
-
version: 1.0.
|
|
351
|
+
version: 1.0.3
|
|
326
352
|
- !ruby/object:Gem::Dependency
|
|
327
353
|
name: gitmoji-regex
|
|
328
354
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -343,26 +369,6 @@ dependencies:
|
|
|
343
369
|
- - ">="
|
|
344
370
|
- !ruby/object:Gem::Version
|
|
345
371
|
version: 1.0.3
|
|
346
|
-
- !ruby/object:Gem::Dependency
|
|
347
|
-
name: kettle-test
|
|
348
|
-
requirement: !ruby/object:Gem::Requirement
|
|
349
|
-
requirements:
|
|
350
|
-
- - "~>"
|
|
351
|
-
- !ruby/object:Gem::Version
|
|
352
|
-
version: '1.0'
|
|
353
|
-
- - ">="
|
|
354
|
-
- !ruby/object:Gem::Version
|
|
355
|
-
version: 1.0.6
|
|
356
|
-
type: :development
|
|
357
|
-
prerelease: false
|
|
358
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
359
|
-
requirements:
|
|
360
|
-
- - "~>"
|
|
361
|
-
- !ruby/object:Gem::Version
|
|
362
|
-
version: '1.0'
|
|
363
|
-
- - ">="
|
|
364
|
-
- !ruby/object:Gem::Version
|
|
365
|
-
version: 1.0.6
|
|
366
372
|
description: "\U0001F372 Kettle::Test is a meta tool from kettle-rb to streamline
|
|
367
373
|
testing. Acts as a shim dependency, pulling in many other dependencies, to give
|
|
368
374
|
you OOTB productivity with a RubyGem, or Ruby app project. Configures RSpec w/ syntactic
|
|
@@ -371,7 +377,8 @@ description: "\U0001F372 Kettle::Test is a meta tool from kettle-rb to streamlin
|
|
|
371
377
|
Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev"
|
|
372
378
|
email:
|
|
373
379
|
- floss@galtzo.com
|
|
374
|
-
executables:
|
|
380
|
+
executables:
|
|
381
|
+
- kettle-test
|
|
375
382
|
extensions: []
|
|
376
383
|
extra_rdoc_files:
|
|
377
384
|
- CHANGELOG.md
|
|
@@ -379,9 +386,8 @@ extra_rdoc_files:
|
|
|
379
386
|
- CODE_OF_CONDUCT.md
|
|
380
387
|
- CONTRIBUTING.md
|
|
381
388
|
- FUNDING.md
|
|
382
|
-
- LICENSE.
|
|
389
|
+
- LICENSE.md
|
|
383
390
|
- README.md
|
|
384
|
-
- REEK
|
|
385
391
|
- RUBOCOP.md
|
|
386
392
|
- SECURITY.md
|
|
387
393
|
files:
|
|
@@ -390,11 +396,13 @@ files:
|
|
|
390
396
|
- CODE_OF_CONDUCT.md
|
|
391
397
|
- CONTRIBUTING.md
|
|
392
398
|
- FUNDING.md
|
|
393
|
-
- LICENSE.
|
|
399
|
+
- LICENSE.md
|
|
394
400
|
- README.md
|
|
395
|
-
- REEK
|
|
396
401
|
- RUBOCOP.md
|
|
397
402
|
- SECURITY.md
|
|
403
|
+
- certs/pboling.pem
|
|
404
|
+
- exe/kettle-test
|
|
405
|
+
- exe/kettle-test.sh
|
|
398
406
|
- lib/kettle/test.rb
|
|
399
407
|
- lib/kettle/test/config/ext/backports.rb
|
|
400
408
|
- lib/kettle/test/config/ext/rspec/rspec_stubbed_env.rb
|
|
@@ -413,15 +421,17 @@ files:
|
|
|
413
421
|
- lib/kettle/test/support/shared_contexts/with_rake.rb
|
|
414
422
|
- lib/kettle/test/version.rb
|
|
415
423
|
- sig/kettle/test.rbs
|
|
424
|
+
- sig/kettle/test/version.rbs
|
|
416
425
|
homepage: https://github.com/kettle-rb/kettle-test
|
|
417
426
|
licenses:
|
|
418
|
-
-
|
|
427
|
+
- AGPL-3.0-only
|
|
428
|
+
- PolyForm-Small-Business-1.0.0
|
|
419
429
|
metadata:
|
|
420
|
-
homepage_uri: https://kettle-test.galtzo.com
|
|
421
|
-
source_code_uri: https://github.com/kettle-rb/kettle-test/tree/
|
|
422
|
-
changelog_uri: https://github.com/kettle-rb/kettle-test/blob/
|
|
430
|
+
homepage_uri: https://kettle-test.galtzo.com
|
|
431
|
+
source_code_uri: https://github.com/kettle-rb/kettle-test/tree/v2.0.0
|
|
432
|
+
changelog_uri: https://github.com/kettle-rb/kettle-test/blob/v2.0.0/CHANGELOG.md
|
|
423
433
|
bug_tracker_uri: https://github.com/kettle-rb/kettle-test/issues
|
|
424
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-test/
|
|
434
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-test/2.0.0
|
|
425
435
|
funding_uri: https://github.com/sponsors/pboling
|
|
426
436
|
wiki_uri: https://github.com/kettle-rb/kettle-test/wiki
|
|
427
437
|
news_uri: https://www.railsbling.com/tags/kettle-test
|
|
@@ -443,14 +453,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
443
453
|
requirements:
|
|
444
454
|
- - ">="
|
|
445
455
|
- !ruby/object:Gem::Version
|
|
446
|
-
version: 2.
|
|
456
|
+
version: 2.4.0
|
|
447
457
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
448
458
|
requirements:
|
|
449
459
|
- - ">="
|
|
450
460
|
- !ruby/object:Gem::Version
|
|
451
461
|
version: '0'
|
|
452
462
|
requirements: []
|
|
453
|
-
rubygems_version: 4.0.
|
|
463
|
+
rubygems_version: 4.0.11
|
|
454
464
|
specification_version: 4
|
|
455
465
|
summary: "\U0001F372 A kettle-rb meta tool to streamline testing"
|
|
456
466
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/LICENSE.txt
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023, 2025 Peter Boling
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|
data/REEK
DELETED
|
File without changes
|