CodeVetter · Repo Unpack · Testing signals
rolldown/rolldown
Tests and CI were inspected, not executed; test existence is not a passing result. The inspected suites combine Rust fixture tests, Vitest API/CLI/watch tests, Mocha Rollup compatibility tests, and packed-browser smoke tests. Coverage is intentionally split across runtime and platform lanes, with conditional CI execution. This bounded inspection establishes particular assertions and limitations, not whole-repository coverage.
- Inspected, not executed: rolldown-tests uses Vitest with fork workers and a 20-second default timeout; its scripts separate main, watcher, CLI, WASI, stability, runtime-lifecycle, and typechecking tests.
- Build API tests assert repeated ESM/IIFE writes, concurrent ESM/CJS writes, async disposal/closed state, closeBundle error propagation, and closeBundle behavior when no output build occurred.
- CLI tests spawn the executable with execa and snapshot normalized help output; the inspected 'should not hang after running' basic case is skipped, and the Node-version case explicitly exercises supported versions only.
- Watch tests force polling by default, use one-second delays to cross mtime boundaries, and allow three retries; the inspected watch case checks update/create/delete hook notifications.
- Rust integration modules cover Rolldown fixtures, esbuild, Rollup, and test262; fixture macros discover _config.json files. The inspected TypeScript fixture runner selects sequential configs and supports skip/retry/before/after/error callbacks.
- Mocha runs the Rollup compatibility harness; a packed-browser Vitest test verifies browser export selection, absence of fetched Vite builtin stubs, virtual-plugin graph bundling, and leaf-before-consumer output ordering.
- Output safety has Rust unit cases for traversal/rooted paths and platform-specific drive/backslash behavior; cleanDir Vitest cases assert removal/preservation across writes and preservation of hook-created files.
- CI configuration was inspected, not run: change filters and labels gate platform/runtime lanes; browser and plain-Node fallback suites run for changed Node inputs, while WebContainer is conditional. Windows builds run on main or explicit opt-in; macOS builds are main-only.