Skip to content

fix: modernize test suite for Vitest 4.x and stabilize Docker integration#62

Merged
ttbombadil merged 17 commits intodevfrom
cleanup
Mar 13, 2026
Merged

fix: modernize test suite for Vitest 4.x and stabilize Docker integration#62
ttbombadil merged 17 commits intodevfrom
cleanup

Conversation

@ttbombadil
Copy link
Collaborator

Description
This PR stabilizes the integration test suite and modernizes the testing infrastructure to resolve execution hangs and compatibility issues with Vitest 4.x and macOS 26 (Darwin 25).

Key Changes:

Vitest 4.0 Migration: Refactored all legacy done() callbacks to modern async/await patterns to resolve FixtureParseError and align with the latest Vitest standards.

macOS Beta Stability (Docker Bypass): Implemented a forced Docker execution mode for integration tests. This bypasses a known _dyld_start hang on macOS 26.3 Beta where unsigned binaries from temporary directories were blocked or delayed by system security policies.

Sandbox Runner Optimization:

Increased Docker memory limits from 128MB to 256MB to prevent OOM kills during complex Arduino-cli compilations.

Fixed a race condition in the isCompilePhase detection where successful, silent compilations would block the serial output buffer.

Added the --rm flag to Docker commands to ensure automatic container cleanup and prevent resource leaking.

Environment Consistency:

Improved path resolution using realpathSync to handle macOS /tmp to /private/tmp symlink mapping within Docker volumes.

Cleaned up unused TypeScript variables and ESLint warnings to ensure a green CI pass on GitHub Actions.

Result:
The full test suite (990+ tests) now passes consistently both locally (macOS/Docker) and in the GitHub CI environment. No leaked processes or race conditions were detected in final stability checks.

@ttbombadil ttbombadil merged commit 4a25775 into dev Mar 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant