Auditing the remaining cts baseline for R7 exposed real contract gaps hiding among the model residue — all fixed to reference behavior: - stale no-ratio-era stubs: numerator/denominator now work over jolt's exact rationals (non-ratio is the Ratio cast failure); rational? includes decimals - casts and pending: peek/pop demand an IPersistentStack (pop nil is nil), realized? demands an IPending (a plain list/range throws), transient demands an editable COLLECTION (non-colls throw; the RFC 0003 sorted/list/seq superset keeps the copy-on-write fallback), empty on a plain record throws - nil and empties: (nth nil i) is nil, (nth nil i d) is d, a nil index is NPE, keys/vals of anything empty are nil, (conj nil) is nil - lookups: contains? on a string is index-only (other keys IAE), get on an array is lenient (nth still throws), a VECTOR invocation has nth semantics (([1 2] 5) throws — call position and jolt-invoke both) - into only transients editable collections; a PersistentQueue/sorted target folds through conj (RT's IEditableCollection split) - numbers: number?/num accept BigDecimal, quot/rem throw on an Infinite/NaN quotient, even?/odd? demand integers - ordering: keywords compare namespace-first with nil first (Symbol.compareTo) - misc: run! honors reduced, eval self-evaluates non-form values, intern demands an existing namespace, counted? excludes strings, seqable? includes arrays, shuffle rejects maps, sort-by rejects a collection comparator, when-let demands one binding pair, case*/deftype*/letfn*/reify*/& are special symbols Two mis-certified corpus rows fixed (they threw on the JVM too and hid in the tolerated bucket): a raw \d string escape and duplicate literal map keys. SPEC.md gains the baseline-traceability section: every one of the 146 remaining suite failures maps to a documented divergence (integer-box, no-single-float, RFC 0003 transients, seq/chunking model, stm-refs, parse-uuid strictness, vec-array adoption). cts baseline 5955 -> 6042 pass, 5 errors, 30 namespaces. 9 JVM-certified corpus rows.
33 lines
1.1 KiB
Text
33 lines
1.1 KiB
Text
# clojure-test-suite known failures: <namespace> <fail> <error>
|
|
# The gate fails on any per-namespace change, worse OR better; regenerate
|
|
# with: JOLT_CTS_WRITE_BASELINE=1 host/chez/cts.sh
|
|
clojure.core-test.abs 1 0
|
|
clojure.core-test.add-watch 0 1
|
|
clojure.core-test.bigint 6 0
|
|
clojure.core-test.bit-set 1 0
|
|
clojure.core-test.dec 1 0
|
|
clojure.core-test.double-qmark 3 0
|
|
clojure.core-test.eq 2 0
|
|
clojure.core-test.float 1 0
|
|
clojure.core-test.inc 1 0
|
|
clojure.core-test.int-qmark 3 0
|
|
clojure.core-test.lazy-seq 1 2
|
|
clojure.core-test.minus 2 0
|
|
clojure.core-test.mod 18 0
|
|
clojure.core-test.neg-int-qmark 1 0
|
|
clojure.core-test.not-eq 3 0
|
|
clojure.core-test.num 2 0
|
|
clojure.core-test.parse-uuid 3 0
|
|
clojure.core-test.peek 1 0
|
|
clojure.core-test.plus 11 0
|
|
clojure.core-test.plus-squote 11 0
|
|
clojure.core-test.pos-int-qmark 1 0
|
|
clojure.core-test.quot 25 0
|
|
clojure.core-test.rand-nth 0 1
|
|
clojure.core-test.realized-qmark 1 0
|
|
clojure.core-test.rem 16 0
|
|
clojure.core-test.remove-watch 0 1
|
|
clojure.core-test.star 13 0
|
|
clojure.core-test.star-squote 13 0
|
|
clojure.core-test.transient 4 0
|
|
clojure.core-test.vec 1 0
|