The core/tests/ harness
Most differential tests render on the software adapter (prefer_software) so
they hold on any GPU; the exceptions say so below. Run the whole suite:
cargo nextest run -p rlx-core # what CI runs (per-test process isolation)cargo test -p rlx-core # single binaries only — see the two caveats belowUse
nextestfor the whole suite, for two independent reasons.
preset’s zero-allocation assertion counts allocations through a process-global allocator hook, so it is only reliable under nextest’s per-test process isolation — under stockcargo testa concurrently-running test’s allocations bleed into the count.And stock
cargo testruns a binary’s tests as threads in one process, which the GPU tests do not survive. Several of them build and drop aRenderer(and so a wgpu device) concurrently, and the driver aborts the process withSTATUS_ACCESS_VIOLATION—--test transitionevery run on WARP,--libintermittently at teardown,--lib render::postsince Plan 0035. This is a runner artifact, not a failing test: the same binaries pass in full undercargo nextest run, which gives each test its own process. If acargo testinvocation aborts with0xc0000005, re-run it under nextest (or-- --test-threads=1) before concluding anything about coverage.Tests that need a real GPU (
background_composite, and the in-crate dual-live dissolve check inrender/mod.rs) skip themselves when only a software rasterizer is present, per ADR-0016. WARP mis-renders both: the fullscreen-scene + background pipeline set, and — once a dissolve allocates its blend targets mid-run — what the feedbacktrailsstage resolves to.
In this section
- The preset sweeps are one test per preset
- What the five preset gates can and cannot see
- Golden baselines
- The tonemap and pixel-level assertions
- The display write dithers, and every baseline moved once
- A lit backdrop is a distinct test configuration, not a variant
- Asserting that something moved — the feedback fixtures
- The in-frame geometry fraction, and the four things it cannot see
Built from a8ce055 at version 0.115.0. This site tracks main and is not versioned per release.