specguard-rspec 0.2.2 → 0.2.3
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
- data/README.md +2 -2
- data/lib/specguard/rspec/formatter.rb +19 -4
- data/lib/specguard/rspec/schemas/open-test-intent.v1.json +1 -1
- data/lib/specguard/rspec/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9ab32ecca2ef5d4af0b93b22c0e9691a9b0f5302f939cc8fc6a8809eae7074e9
|
|
4
|
+
data.tar.gz: 5baf222c850624d56c5fccd4c4647c68bac3ee765e0a5afe6e6dcb1bba69f027
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8cef9f595cb3ab96d24b249bb5dd758d87d20b9fdfc26f14b56290dab4210707227037e3691228ce6e16fa83de8c502a533aa597cc2ccad36d6ffa56599ea4b1
|
|
7
|
+
data.tar.gz: b34a783f590850c73237116f7044aae7c0c58deb9b99e30c8e48ac31213073ccf6dfacac6cfefe516ccdf236dea329655bae2fafc1b306fa33c817b33ceab928
|
data/README.md
CHANGED
|
@@ -171,7 +171,7 @@ Because the two backends produce the same report, the report alone cannot tell y
|
|
|
171
171
|
So `specguard-lint` states it, in one line on **stderr**, on every run and on both arms:
|
|
172
172
|
|
|
173
173
|
```
|
|
174
|
-
specguard-lint: validated by validate-intent 1.4.0 (go1.22.12 linux/arm64) schema sha256:
|
|
174
|
+
specguard-lint: validated by validate-intent 1.4.0 (go1.22.12 linux/arm64) schema sha256:3760d8f7… at /path/to/validate-intent (SPECGUARD_VALIDATE_INTENT) — it reports enforcing the schema this gem vendors, loaded from /usr/local/schemas/open-test-intent.v1.json
|
|
175
175
|
specguard-lint: validated in Ruby (SPECGUARD_VALIDATE_INTENT is unset)
|
|
176
176
|
specguard-lint: validated in Ruby (SPECGUARD_VALIDATE_INTENT is set but blank, which means off)
|
|
177
177
|
```
|
|
@@ -234,7 +234,7 @@ specguard-lint: validated by validate-intent 1.4.0 (…) at /path/to/validate-in
|
|
|
234
234
|
**It enforces a different one.** Exit `2`, before any file is selected or checked:
|
|
235
235
|
|
|
236
236
|
```
|
|
237
|
-
specguard-lint: error: the validator backend at /path/to/validate-intent (SPECGUARD_VALIDATE_INTENT) reports enforcing schema sha256:9c1e…, loaded from /usr/local/schemas/open-test-intent.v1.json, but this gem vendors sha256:
|
|
237
|
+
specguard-lint: error: the validator backend at /path/to/validate-intent (SPECGUARD_VALIDATE_INTENT) reports enforcing schema sha256:9c1e…, loaded from /usr/local/schemas/open-test-intent.v1.json, but this gem vendors sha256:3760… — the two halves would enforce different contracts, so this run would produce a verdict this gem cannot stand behind; the binary identifies itself as validate-intent 1.5.0 (go1.22.12 linux/arm64) schema sha256:3760…
|
|
238
238
|
```
|
|
239
239
|
|
|
240
240
|
Both digests are printed in full (elided above only to fit), because one of them lives inside a
|
|
@@ -64,10 +64,25 @@ module SpecGuard
|
|
|
64
64
|
#
|
|
65
65
|
# == What it captures, and for whom
|
|
66
66
|
#
|
|
67
|
-
# Every example, annotated or not
|
|
68
|
-
#
|
|
69
|
-
#
|
|
70
|
-
#
|
|
67
|
+
# Every example, annotated or not — but not because an unannotated test is
|
|
68
|
+
# anonymous. The row below carries `full_description` and both paths
|
|
69
|
+
# unconditionally, so a test nobody annotated still arrives named and
|
|
70
|
+
# located; its duration and its outcome ride along whenever the runner
|
|
71
|
+
# reported them, which is why both are written safe-navigated below. The
|
|
72
|
+
# protocol says the same thing in its preamble: annotated and unannotated
|
|
73
|
+
# tests are alike ingested — see `PROTOCOL.md` in open-test-intent, above
|
|
74
|
+
# "1. Annotation syntax".
|
|
75
|
+
#
|
|
76
|
+
# What an `@intent` adds is a *structured, authored* statement of what the
|
|
77
|
+
# test is for — fields a machine can group and compare, and a layer and
|
|
78
|
+
# preconditions that a description does not state — written deliberately
|
|
79
|
+
# rather than read off prose composed for a test runner's output. So the
|
|
80
|
+
# gap an annotation closes is one of structure, not of sight.
|
|
81
|
+
#
|
|
82
|
+
# That gap is still one you cannot report on over rows you never recorded,
|
|
83
|
+
# which is why this formatter captures the whole run: filtering to the
|
|
84
|
+
# annotated minority here would make the very first run of a new adopter
|
|
85
|
+
# look empty.
|
|
71
86
|
#
|
|
72
87
|
# id example.id — this example's identity within the run
|
|
73
88
|
# spec_file_path the spec file that *ran* the example, relative to the root
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://
|
|
3
|
+
"$id": "https://raw.githubusercontent.com/yatfa-ai/open-test-intent/schema-v1.0/schemas/open-test-intent.v1.json",
|
|
4
4
|
"title": "OpenTestIntent v1",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": false,
|