Testing and conformance.
The independent regression suite will measure externally observable behaviour. Engine unit tests explain internals; neither replaces the other.
Evidence layers
The current embedded-preview corpus is 171/171. It grew from lifecycle and primitive execution through closures, objects, traced collection, exceptions, conversions, built-ins, descriptors, located stacks, host values, callbacks, containment and global injection.
The EP5 evidence adds separately compiled C and C++ package consumers, the frozen public-header-only host demonstration, 400 deterministic malformed mutations and a 250-evaluation soak. Focused tests inspect bytecode, handler/cleanup regions, roots, heap accounting and sanitizer-backed lifetime pressure.
Focused tests
Sources, tokens, syntax, bytecode, values, objects, environments, roots and handles.
Regression contract
Parse results, runtime values, side effects, thrown errors, crashes and timeouts through public surfaces.
Selected Test262 - pinned
JRS8 pins the upstream revision, deterministic buckets and six result classes. Numerical execution remains unclaimed until that exact corpus is supplied.
Frontend evidence is separate
The lossless syntax/minifier frontend has its own independent 26/26 corpus plus a pinned 12/12 real-bundle certification. Those results prove structural recognition and byte-exact reconstruction where claimed; they do not promote classes, modules or other syntax to runtime support.
Runtime tests must be adversarial
Use getters, counters, conversions, computed properties, nested closures, prototype mutation, exception/finally paths, recursion, forced collection, native re-entry, allocation pressure and malformed input. Plausible output is not semantic evidence.
let calls = 0;
const value = {
valueOf() {
calls++;
return 20;
}
};
// Assert both the result and that coercion occurs once.
value + 22;
Reproducibility
Every serious checkpoint records the engine commit, toolchain, platform, reference-engine version, corpus revision, timeouts and configuration. Every real defect becomes a minimized permanent case.
Current conformance position
Node is used as an oracle where the same language surface exists, but expected values and anti-agreement checks prevent two engines returning the same wrong result from being counted as evidence. Unsupported families remain named rather than converted into silent passes.
Memory safety
ASan and UBSan pass across the candidate workload, including allocation pressure, runtime teardown, forced collection and success-after-failure paths. PC0V external Valgrind confirmation is complete for the retained workload. The result is evidence for that measured surface, not a blanket claim for future engine states.