Move the Chez test oracle off Janet
The unit tests in test/chez/_*.janet now drive bin/joltc (the zero-Janet spine) and judge against baked expected values instead of a live build/jolt run. Ten of them captured the oracle from build/jolt per case; their values are now literals (one env-dependent javastatic case became a predicate so it stays portable). The rest already had literal expecteds with a redundant build/jolt sanity check, now dropped. Retire emit-test/emit-parity/reader-parity: they compared the Chez/Clojure path against a live Janet evaluation, emitter, or reader. That migration check is done, and run-corpus-zero-janet (Chez analyzer vs the JVM corpus) plus certify.clj cover correctness now. Rewrite the README for the current zero-Janet gate. jolt-5oci
This commit is contained in:
parent
8d4f83e0f7
commit
9a273e71cd
21 changed files with 205 additions and 1510 deletions
|
|
@ -1,14 +1,14 @@
|
|||
# jolt-r8ku (inc Y) — Chez-side Clojure data reader: read-string / read /
|
||||
# read+string / with-in-str / clojure.edn. The reader (host/chez/reader.ss)
|
||||
# produces the same jolt forms the Janet reader yields; the *in* family and
|
||||
# produces jolt forms directly; the *in* family and
|
||||
# clojure.edn are Clojure over the read-string / __parse-next seams.
|
||||
#
|
||||
# Outputs are kept order-stable (equality checks, scalars) so set/map iteration
|
||||
# order — which legitimately differs from build/jolt — doesn't masquerade as a
|
||||
# divergence. Oracle = build/jolt.
|
||||
# order — which is host-dependent — doesn't masquerade as a
|
||||
# divergence.
|
||||
#
|
||||
# janet test/chez/_reader.janet
|
||||
(def jolt-bin (or (os/getenv "JOLT_BIN") "bin/jolt-chez"))
|
||||
(def jolt-bin (or (os/getenv "JOLT_BIN") "bin/joltc"))
|
||||
|
||||
(def cases
|
||||
[# --- scalars + collections (value equality, order-independent) ---
|
||||
|
|
@ -81,11 +81,8 @@
|
|||
(var pass 0)
|
||||
(def fails @[])
|
||||
(each [expr expected] cases
|
||||
(def [ocode oracle _] (run-capture "build/jolt" expr))
|
||||
(def [code got err] (run-capture jolt-bin expr))
|
||||
(cond
|
||||
(not= ocode 0) (array/push fails [expr (string "ORACLE FAILED exit " ocode)])
|
||||
(not= oracle expected) (array/push fails [expr (string "ORACLE MISMATCH want `" expected "` got `" oracle "`")])
|
||||
(not= code 0) (array/push fails [expr (string "exit " code "; err: " err)])
|
||||
(= got expected) (++ pass)
|
||||
(array/push fails [expr (string "want `" expected "`, got `" got "`")])))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue