CodeVetter · Repo Unpack · Testing signals
web-infra-dev/rspack
Tests and CI were inspected, not executed; no passing result is claimed. The inspected harness uses Rstest through rs test, Playwright integration for browser behavior, TypeScript checks, and Rust tests. It includes explicit exclusions and opt-in compatibility suites that limit what a default run establishes. This was bounded source inspection, not exhaustive coverage analysis.
- The integration package uses rs test with base and hottest projects; the Rstest configuration supplies shared setup files, globals, snapshot formatting, and three retries in CI.
- NewCache.test.mjs defaults to newCacheCases; normalCases/configCases compatibility runs require NEW_CACHE_CASES selection, and the cache processor asserts cache-stat snapshots and expected unchanged-build hit rates.
- The new-cache runner explicitly excludes max-age, restored loader diagnostics, coffee-loader, extract-amd, restored async-block binding access, and stateful rebuild-module cases; its comments describe unfinished compatibility.
- Incremental-watch testing reuses watchCases through createWatchIncrementalCase; native watcher tests run in a separate project with retry:0 and maxConcurrency:1.
- Browser E2E uses @rstest/playwright configuration; the inspected cross-origin lazy-compilation test clicks a dynamic-import trigger and asserts a rendered component plus a text/plain POST request.
- API type tests invoke tsc --noEmit separately for bundler and NodeNext module-resolution configurations, providing compile-time checks rather than runtime behavior tests.
- Inspected Rust snapshot tests use tokio::test for unchanged and changed filesystem states; Rust CI runs codegen, Clippy, formatting, workspace tests with exclusions, and separate watcher jobs.
- JS CI downloads binding artifacts and invokes test:ci on supported targets; WASM runs use WASM=1, but the harness excludes cache, incremental, native watcher, and several API/stat suites under WASM.