JacobLinCool / JacobLinCool/mars
test(hal): add real virtual-input acceptance test with external producer
- Dominant language
- Rust
- Stars
- 0
- Forks
- 1
- Avg merge
- 10m
- Merged PRs (30d)
- 3
Description
## Context
MARS has good unit coverage, but downstream adoption needs proof that the full HAL path works in the real macOS audio stack: install driver, create virtual input, write audio from an external producer, select/read it from a client app, and verify silence on producer absence.
## Proposed test/runbook
Add an acceptance test or documented harness that exercises:
- signed/stapled `mars.driver` installed in `/Library/Audio/Plug-Ins/HAL`
- `marsd` apply of a single virtual input
- external producer writing a known 48 kHz mono/stereo Float32 signal
- CoreAudio client reading from the virtual input
- underrun/producer-exit behavior returning silence
- cleanup after test
## Acceptance criteria
- Automated where feasible; clearly marked manual where macOS permissions/signing require it.
- Captures logs/status/doctor output for failures.
- Verifies ring data actually reaches the HAL virtual input, not just daemon internal routing.
- Includes at least one QuickTime/Zoom/Meet-oriented manual check in docs.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing HAL installation flow, marsd apply path, and any status or doctor commands. Build or document a harness around a signed mars.driver, an external 48 kHz Float32 producer, and a CoreAudio client, then verify captured logs, producer-exit silence, and cleanup. Done means the real virtual input path is tested, with manual QuickTime, Zoom, or Meet checks clearly marked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- audio-video-rtc, operating-systems, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100