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
|
|
@ -3,14 +3,14 @@
|
|||
# is overlay (`(defn sequential? [x] (or (vector? x) (seq? x)))`), so it inherits
|
||||
# the fix transitively; this pins that both predicates agree with the JVM oracle
|
||||
# over every lazy-seq-producing form (and the native =/hash path via set!).
|
||||
# Expectations are the build/jolt (JVM-canonical) values.
|
||||
# Expectations are the JVM-canonical values.
|
||||
#
|
||||
# janet test/chez/_seqpred.janet
|
||||
(def jolt-bin (or (os/getenv "JOLT_BIN") "bin/jolt-chez"))
|
||||
(def jolt-bin (or (os/getenv "JOLT_BIN") "bin/joltc"))
|
||||
|
||||
(def cases
|
||||
[# --- seq? over lazy seqs ---
|
||||
# (NB: not (seq? (range 3)) — the seed makes range an eager vector, chez a lazy
|
||||
# (NB: range is lazy, so (type (range 3)) is :seq not :vector
|
||||
# seq; a range-container divergence, not the predicate. sequential? agrees on it.)
|
||||
["seq? map" "(seq? (map inc [1 2 3]))" "true"]
|
||||
["seq? filter" "(seq? (filter odd? [1 2 3]))" "true"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue