Skip to content

Commit 6484e8f

Browse files
committed
Record the fuzzdata seeds in the README, and the sqllogictest decision
The one remaining item of milestone 7 is not being built, so PLAN.md should say why rather than leave it looking pending: everything the tests download is pinned by SHA-256, and sqllogictest has no stable release artifact to pin. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JzBeCg7rjweVW3uGPg5G7T
1 parent 8759bef commit 6484e8f

3 files changed

Lines changed: 12 additions & 5 deletions

File tree

.github/workflows/difftest.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
# This is separate from CI because it downloads the pinned SQLite release
44
# and compiles it, which the ordinary test run must not depend on. It is the
55
# only thing that exercises error fidelity at scale: the vendored corpus is
6-
# almost all valid SQL, so mutating it is how divergent messages and offsets
7-
# get found.
6+
# almost all valid SQL, so mutating it -- and mutating the ~36k inputs of
7+
# SQLite's own fuzzdata databases, which are the opposite -- is how
8+
# divergent messages and offsets get found.
89
name: difftest
910

1011
on:

PLAN.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,11 @@ domain):
180180
merely "terminate without panic".)*
181181
- **sqllogictest** (~millions of statements, license: "no attribution
182182
required") — bulk smoke corpus; low grammar diversity. Optional, behind an
183-
env-var-gated test, not vendored.
183+
env-var-gated test, not vendored. *(Not built. Everything else the tests
184+
download is pinned by SHA-256; sqllogictest is distributed as a Fossil
185+
checkout with no stable release artifact to pin, and what it would add is
186+
volume of ordinary SELECTs — the axis `cmd/difftest` is already furthest
187+
along. Worth revisiting only if a pinnable mirror appears.)*
184188
185189
Tooling (`cmd/regenerate`):
186190

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,10 @@ so conformance is defined three ways, in decreasing order of authority:
6363
Plus two searches for cases the corpus does not contain: a fuzz target
6464
asserting that arbitrary bytes terminate without panicking, that a rejection
6565
is always a `*parser.Error`, and that anything accepted survives the round
66-
trip; and `cmd/difftest`, which mutates corpus SQL one token at a time and
67-
checks meyer against a live SQLite build, message and byte offset included.
66+
trip; and `cmd/difftest`, which checks meyer against a live SQLite build,
67+
message and byte offset included, over corpus SQL and the ~36k inputs of
68+
SQLite's own `fuzzdata` databases — each one directly and then mutated a
69+
token at a time.
6870

6971
## Acknowledgments
7072

0 commit comments

Comments
 (0)