# Testing signals — rolldown/rolldown

> Canonical page: https://codevetter.com/unpack/rolldown/testing-signals

# Testing signals — rolldown/rolldown

Scanned commit 37d60ff510b4b326f4b587c27f28c606d76373e8 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

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. — [packages/rolldown/tests/vitest.config.mts#L1-18](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/vitest.config.mts#L1-L18) [packages/rolldown/tests/package.json#L17-24](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/package.json#L17-L24)
- 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. — [packages/rolldown/tests/build-api/build-api.test.ts#L5-54](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/build-api/build-api.test.ts#L5-L54) [packages/rolldown/tests/build-api/build-api.test.ts#L57-120](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/build-api/build-api.test.ts#L57-L120)
- 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. — [packages/rolldown/tests/cli/cli-e2e.test.ts#L1-18](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/cli/cli-e2e.test.ts#L1-L18) [packages/rolldown/tests/cli/cli-e2e.test.ts#L33-55](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/cli/cli-e2e.test.ts#L33-L55)
- 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. — [packages/rolldown/tests/watch/watch.test.ts#L9-37](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/watch/watch.test.ts#L9-L37) [packages/rolldown/tests/watch/watch.test.ts#L40-79](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/watch/watch.test.ts#L40-L79)
- 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. — [crates/rolldown/tests/integration/main.rs#L1-8](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/crates/rolldown/tests/integration/main.rs#L1-L8) [crates/rolldown/tests/integration/rolldown_fixture.rs#L1-9](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/crates/rolldown/tests/integration/rolldown_fixture.rs#L1-L9) [packages/rolldown/tests/fixture.test.ts#L8-43](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/fixture.test.ts#L8-L43)
- 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. — [packages/rollup-tests/package.json#L4-6](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rollup-tests/package.json#L4-L6) [packages/browser-tests/tests/browser/rolldown.test.ts#L32-50](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/browser-tests/tests/browser/rolldown.test.ts#L32-L50) [packages/browser-tests/tests/browser/rolldown.test.ts#L52-97](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/browser-tests/tests/browser/rolldown.test.ts#L52-L97)
- 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. — [crates/rolldown/src/bundle/bundle.rs#L453-511](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/crates/rolldown/src/bundle/bundle.rs#L453-L511) [packages/rolldown/tests/behaviors/clean-dir.test.ts#L10-39](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/behaviors/clean-dir.test.ts#L10-L39) [packages/rolldown/tests/behaviors/clean-dir.test.ts#L66-115](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/packages/rolldown/tests/behaviors/clean-dir.test.ts#L66-L115)
- 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. — [.github/workflows/ci.yml#L28-36](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/.github/workflows/ci.yml#L28-L36) [.github/workflows/ci.yml#L326-347](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/.github/workflows/ci.yml#L326-L347) [.github/workflows/reusable-browser.yml#L48-62](https://github.com/rolldown/rolldown/blob/37d60ff510b4b326f4b587c27f28c606d76373e8/.github/workflows/reusable-browser.yml#L48-L62)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
