jolt/test/conformance/profile.edn
Yogthos 6abbea3835 Fix 4 clojure.core bugs surfaced by JVM certification
The corpus certifier (test/conformance) flagged four cases where jolt's
hand-written :expected matched a real defect rather than Clojure. Fixed in the
jolt-core overlay, corrected the spec :expected, re-certified against JVM Clojure:

- ex-message: returns nil for a non-throwable (dropped the lenient string branch);
  still returns the message for ex-info. (jolt-l8e8)
- munge: preserves the argument's type — a symbol munges to a symbol, not a string.
  (jolt-hc35)
- print: (print nil) emits "nil", not "" (top-level nil guard; str yields "").
  (jolt-pqio)
- bounded-count: uses the counted? fast path (full count), else counts up to n via
  seq — was (min n (count coll)), wrong for counted colls. Added an uncounted-coll
  spec case. (jolt-2507)

Removed the 4 :bug entries from known-divergences.edn (now certified), regenerated
corpus + profile, re-minted the Chez bootstrap seed (clojure.core changed). Gates:
Janet 155/0, JVM certify clean, both Chez corpus gates 2534 (floors raised),
bootstrap 6/6, fixpoint intact.
2026-06-20 11:06:33 -04:00

1006 lines
33 KiB
Clojure

{:doc
"Conformance profile for test/chez/corpus.edn, generated by certify.clj. Each entry is a NON-portable case (keyed by [suite label]) and the host feature(s) it requires. Cases NOT listed are portable — they pass on any faithful Clojure. A runtime's conformance LEVEL = portable + the feature families it implements. See SPEC.md.",
:clojure-version "1.12.5",
:portable-count 2674,
:non-portable-count 246,
:feature-counts
{:concurrency/snapshot 5,
:host/arrays 12,
:host/janet 16,
:host/jvm-interop 174,
:impl/representation 1,
:numerics/double-only 17,
:perf/unbounded 1,
:printer/jolt 4,
:reader/jolt 13,
:strictness/jolt 3},
:entries
[{:suite "*ns* / identity & printing",
:label "tracks in-ns",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.core / futures — predicates",
:label "cancel an in-flight future returns true",
:bucket :divergent,
:features [:concurrency/snapshot]}
{:suite "clojure.core / futures — snapshot (copy) semantics",
:label "captured atom is snapshotted, not shared",
:bucket :divergent,
:features [:concurrency/snapshot]}
{:suite "clojure.core / leaf batch (complement fnil munge etc.)",
:label "bigdec",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "clojure.core / leaf batch (complement fnil munge etc.)",
:label "supers empty set",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.core / pmap family",
:label "snapshot semantics",
:bucket :divergent,
:features [:concurrency/snapshot]}
{:suite "clojure.math (jolt-h79)",
:label "PI",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "floor",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "pow",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "round",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "signum",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "sqrt",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "tan of 0",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "clojure.math (jolt-h79)",
:label "to-radians",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite
"conformance / defmacro surface + syntax-quote/ns (enabling real clojure libs)",
:label "syntax-quote resolves alias",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite
"conformance / migratus enablement: def/defmacro/defmulti forms, assoc, try, ns",
:label "ns restored after catch",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite
"conformance / migratus enablement: def/defmacro/defmulti forms, assoc, try, ns",
:label "try finally on ok+catch",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite
"conformance / migratus enablement: def/defmacro/defmulti forms, assoc, try, ns",
:label "try multi-body last",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite
"conformance / native-op parity (compile emits janet ops at guarded arities)",
:label "native unary div",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "conformance / try / catch",
:label "ex-data",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "conformance / try / catch",
:label "ex-message",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "conformance / try / catch",
:label "try catch",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "core / extenders",
:label "lists extended type",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "core / extenders",
:label "seq of tags",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "core / with-open",
:label "binding visible",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "core / with-open",
:label "body result",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "core / with-open",
:label "close on throw",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "core / with-open",
:label "close runs",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "core / with-open",
:label "nested close order",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "core / with-precision",
:label "rounding arg accepted",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / ex-info",
:label "catch binds thrown value",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / ex-info",
:label "ex-data via catch",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / ex-info",
:label "propagates to outer",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / ex-info",
:label "rethrow preserves ex",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / try-catch",
:label "catch :default",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / try-catch",
:label "catch binds error",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / try-catch",
:label "catch value of body",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / try-catch",
:label "finally runs on throw",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "exceptions / try-catch",
:label "no throw -> body",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "forms / fn",
:label "no param vector",
:bucket :throws-mismatch,
:features [:strictness/jolt]}
{:suite "forms / try",
:label "catch ex-data",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "forms / try",
:label "catch value w/ finally",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "forms / try",
:label "first throw wins",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "forms / try",
:label "immediate throw caught",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "forms / try",
:label "no throw skips catch",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "hierarchy / global + multimethod dispatch",
:label "dispatch exact beats isa",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "hierarchy / global + multimethod dispatch",
:label "dispatch via hierarchy",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "hierarchy / global + multimethod dispatch",
:label "global ancestors",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "hierarchy / global + multimethod dispatch",
:label "global derive + isa?",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "hierarchy / global + multimethod dispatch",
:label "global underive",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / bake env scrub",
:label "full snapshot filtered to the allowlist",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "host-interop / bake env scrub",
:label "listed name still reads",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "host-interop / bake env scrub",
:label "unlisted name reads nil under the allowlist",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "host-interop / class tokens & readers",
:label "class name evaluates to canonical string",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "host-interop / class tokens & readers",
:label "dispatch-only class name",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / class tokens & readers",
:label "slurp accepts :encoding opts",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / class tokens & readers",
:label "slurp drains a StringReader",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / exception + HashMap shims",
:label "HashMap get",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / exception + HashMap shims",
:label "HashMap put + size",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / exception + HashMap shims",
:label "getMessage on a thrown string",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "host-interop / migratus class shims",
:label "Timestamp is millis",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / reader-feature toggle",
:label "features default to jolt+default",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / reader-feature toggle",
:label "restore returns to default",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / reader-feature toggle",
:label "set + read back",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "Base64 encode",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "Base64 round trip",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "MapEntry key/val",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "StringTokenizer",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "URLDecoder www form",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "URLEncoder www form",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "extend-protocol Map",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "extend-protocol Map covers sorted",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "host-interop / ring-codec surface",
:label "url round trip",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "inst / partial timestamps & offsets",
:label "bad timestamp throws",
:bucket :read-error,
:features [:reader/jolt]}
{:suite "interop / PushbackReader & parse statics",
:label "edn/read multi-line",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / PushbackReader & parse statics",
:label "unread accepts a char",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / PushbackReader & parse statics",
:label "unread pushes back",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / String methods",
:label "String/valueOf nil",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / StringReader & StringBuilder",
:label "line-seq over file reader",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / StringReader & StringBuilder",
:label "mark/reset",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / StringReader & StringBuilder",
:label "with-open closes shim",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / dot forms",
:label "dot field keyword",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / dot forms",
:label "field access .-",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / dot forms",
:label "method call",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / dot forms",
:label "method with args",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / janet bridge",
:label "janet.os/clock is a number",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / janet bridge",
:label "janet.string module fn",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / janet bridge",
:label "jolt vector crosses as a janet table",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / janet bridge",
:label "module fn janet.<mod>/<name>",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / janet bridge",
:label "root builtin janet/<name>",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / janet bridge",
:label "root builtin janet/type",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / java.time shims",
:label "Instant instance",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "Instant/now is current",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "fix-date chain",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "localized style",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "month name + ampm",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "ofPattern formats #inst",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "pattern shape",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "quoted literal",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "toEpochMilli round trip",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / java.time shims",
:label "withLocale chain",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "interop / jolt.interop",
:label "janet-type keyword",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / jolt.interop",
:label "janet-type list",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / jolt.interop",
:label "janet-type number",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / jolt.interop",
:label "janet-type quoted list",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "interop / jolt.interop",
:label "janet-type string",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "io / *in* + with-in-str + read-line",
:label "*in* is bound",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "io / cold tagged types via print-method",
:label "atom override fires nested",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "io / cold tagged types via print-method",
:label "transient map",
:bucket :divergent,
:features [:printer/jolt]}
{:suite "io / cold tagged types via print-method",
:label "transient vector",
:bucket :divergent,
:features [:printer/jolt]}
{:suite "io / line-seq",
:label "line-seq",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / line-seq",
:label "line-seq count",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / line-seq",
:label "line-seq empty",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / line-seq",
:label "line-seq is lazy seq",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / print-method multimethod",
:label "StringWriter accumulates",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / print-method multimethod",
:label "defmethod fires nested in a map",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "io / print-method multimethod",
:label "defmethod fires through prn",
:bucket :divergent,
:features [:printer/jolt]}
{:suite "io / print-method multimethod",
:label "defmethod overrides a record, top level",
:bucket :divergent,
:features [:printer/jolt]}
{:suite "io / print-method multimethod",
:label "direct builtin override",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / print-method multimethod",
:label "direct call uses :default",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / print-method multimethod",
:label "print-dup routes to print-method",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "io / slurp, spit, printf, flush (host-classified)",
:label "file-seq finds files",
:bucket :jvm-error,
:features [:host/janet]}
{:suite "macros / core-overlay",
:label "assert message",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "macros / core-overlay",
:label "assert throws",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "macros / core-overlay",
:label "condp no match",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "macros / defmacro",
:label "macroexpand-1",
:bucket :divergent,
:features [:impl/representation]}
{:suite "macros / time, with-redefs, macroexpand",
:label "with-redefs restores on throw",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "maps / literal construction",
:label "source order through syntax-quote",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "metadata / def metadata",
:label "^Type tag on var",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "metadata / type hints",
:label "symbol hint -> :tag",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "metadata / type hints",
:label "type hint in let",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "multimethods / hierarchies",
:label "explicit :hierarchy",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "namespaces / ns operations",
:label "in-ns switches",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "namespaces / ns operations",
:label "standalone use",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "namespaces / unified alias store",
:label "alias fn visible to ns-aliases",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "namespaces / unified alias store",
:label "ns-unalias removes both views",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "namespaces / unified alias store",
:label "require :as registers the alias",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "numbers / arithmetic",
:label "divide to fraction",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / literal syntax",
:label "bigdec int M",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / literal syntax",
:label "bigdec suffix M",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / literal syntax",
:label "neg ratio",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / literal syntax",
:label "ratio -> double",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / literal syntax",
:label "ratio 3/4",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / printing of inf & nan",
:label "inf inside coll",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "numbers / printing of inf & nan",
:label "pr-str Infinity",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "predicates / compare, type, any? (stage 3)",
:label "type of record",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "predicates / overlay-migrated",
:label "keyword-identical?",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "predicates / overlay-migrated",
:label "keyword-identical? no",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "predicates / overlay-migrated",
:label "object?",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "predicates / overlay-migrated",
:label "undefined?",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "predicates / tagged-value (Phase 4)",
:label "atom? no",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "predicates / tagged-value (Phase 4)",
:label "atom? yes",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "predicates / tagged-value (Phase 4)",
:label "chunked-seq? always false",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "reader / dispatch & sugar",
:label "reader cond :jolt",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "reader / dispatch & sugar",
:label "reader cond no match",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "reader / dispatch & sugar",
:label "reader cond splice",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "reader / dispatch & sugar",
:label "reader cond splice no match",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "reader / dispatch & sugar",
:label "reader conditional",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "reader / scalar literals",
:label "bigdec suffix M",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "reader / scalar literals",
:label "ratio -> double",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "reader / syntax-quote literal collapse (spec 2.4 S25)",
:label "bool nested",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "reader / syntax-quote literal collapse (spec 2.4 S25)",
:label "nil nested",
:bucket :divergent,
:features [:reader/jolt]}
{:suite "regex / Pattern statics & String regex methods",
:label "Pattern/MULTILINE ^",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / Pattern statics & String regex methods",
:label "Pattern/compile is a regex",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / Pattern statics & String regex methods",
:label "Pattern/quote literal",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / Pattern statics & String regex methods",
:label "Pattern/quote not meta",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / Pattern statics & String regex methods",
:label "compiled .split",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / Pattern statics & String regex methods",
:label "str/replace w/ Pattern",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / \\p property classes",
:label "unknown class throws",
:bucket :read-error,
:features [:reader/jolt]}
{:suite "regex / literals & predicate",
:label "regex? literal",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "regex / literals & predicate",
:label "regex? non-regex",
:bucket :read-error,
:features [:reader/jolt]}
{:suite "regex / re-pattern & string ops",
:label "re-pattern is regex?",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "set / nil element (jolt-bn2p)",
:label "transient conj! nil",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "set / nil element (jolt-bn2p)",
:label "transient contains? nil",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "set / nil element (jolt-bn2p)",
:label "transient disj! nil cnt",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "set / nil element (jolt-bn2p)",
:label "transient disj! removes",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "sorted / empty + empty? + rseq + printing",
:label "empty set kind",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "sorted / predicates",
:label "sorted-map? false",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "sorted / predicates",
:label "sorted-map? true",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "sorted / predicates",
:label "sorted-set? false",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "sorted / predicates",
:label "sorted-set? true",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "state / agents (synchronous shim)",
:label "send applies",
:bucket :divergent,
:features [:concurrency/snapshot]}
{:suite "state / agents (synchronous shim)",
:label "send-off applies",
:bucket :divergent,
:features [:concurrency/snapshot]}
{:suite "state / atoms",
:label "atom? on non-atom",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "state / atoms",
:label "atom? predicate",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "state / promises",
:label "promise undelivered",
:bucket :timeout,
:features [:perf/unbounded]}
{:suite "transient / assoc! odd args throw",
:label "map dangling key",
:bucket :throws-mismatch,
:features [:strictness/jolt]}
{:suite "transient / assoc! odd args throw",
:label "vector dangling",
:bucket :throws-mismatch,
:features [:strictness/jolt]}
{:suite "transient / set",
:label "conj! dedups",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "transient / set",
:label "map elements by value",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "transient / vector",
:label "conj! many args",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "transient / vector",
:label "transient? false",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "transient / vector",
:label "transient? true",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "array-seq",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "array-seq empty",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "bean is the map",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "class keyword",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "class number",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "class string",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "definterface defines",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "enumeration-seq",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "init-proxy",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "iterator-seq",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "proxy resolves nil",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "proxy-call-with-super calls",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "proxy-mappings",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / JVM-shape stubs (documented jolt behavior)",
:label "update-proxy",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aclone vec",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-boolean",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-byte",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-char",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-double",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-float",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-int",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-long",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "aset-short",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "boolean-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "double-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "float-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "int-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "into-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "long-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "make-array",
:bucket :jvm-error,
:features [:host/arrays]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "short-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / array stubs (vectors + host buffers)",
:label "to-array",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / chunk family (eager equivalents) + cat",
:label "chunk round-trip",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / ns + REPL machinery",
:label "*in* bound",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / ns + REPL machinery",
:label "ns-imports empty user",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / primed + division + bit ops",
:label "/ ratio-as-double",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "untested / protocols: extend + extends?",
:label "extend registers",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / protocols: extend + extends?",
:label "extend two methods",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / protocols: extend + extends?",
:label "extends? after extend",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / protocols: extend + extends?",
:label "extends? without",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "booleans",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "bytes view",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "chars first",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "double",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "untested / typed coercion views",
:label "doubles",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "float",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "untested / typed coercion views",
:label "floats",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "ints",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "longs",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / typed coercion views",
:label "shorts",
:bucket :jvm-error,
:features [:host/jvm-interop]}
{:suite "untested / unchecked-* are plain ops",
:label "unchecked-char",
:bucket :divergent,
:features [:host/jvm-interop]}
{:suite "untested / unchecked-* are plain ops",
:label "unchecked-double",
:bucket :divergent,
:features [:numerics/double-only]}
{:suite "untested / unchecked-* are plain ops",
:label "unchecked-float",
:bucket :divergent,
:features [:numerics/double-only]}]}