Files
fluxer/tools/integration/harness.toml
T

104 lines
3.6 KiB
TOML

schema_version = 1
[platforms.macos]
description = "macOS ARM64 (this host) - real ScreenCaptureKit, CoreAudio, Metal via wgpu"
runner = "local"
cargo_build = true
ts_driver = true
scenarios = [
"scenario_audio_capture_to_mix",
"scenario_screen_capture_to_pool",
"scenario_gpu_device_loss_recovery",
"scenario_event_log_replay_determinism",
"scenario_ffi_airlock_negative_space",
"scenario_encoder_handoff_dryrun",
]
[platforms.linux-fedora]
description = "Fedora 42 ARM64 in Parallels VM, reached via prlctl - real PipeWire, Vulkan via wgpu"
runner = "prlctl"
prlctl_vm = "Fedora 42 ARM64"
prlctl_source = "/media/psf/fluxer-dev"
cargo_build = true
ts_driver = true
scenarios = [
"scenario_audio_capture_to_mix",
"scenario_screen_capture_to_pool",
"scenario_gpu_device_loss_recovery",
"scenario_event_log_replay_determinism",
"scenario_ffi_airlock_negative_space",
"scenario_encoder_handoff_dryrun",
]
[platforms.windows-tailnet]
description = "Windows 11 desktop on Tailnet (desktop-5ba12hj) - NVIDIA MX450 + Intel Iris Xe, WGC, DXGI, D3D11, NVENC, QSV"
runner = "ssh"
ssh_host = "desktop-5ba12hj"
ssh_user = "Hampus"
cargo_build = true
ts_driver = true
scenarios = [
"scenario_audio_capture_to_mix",
"scenario_screen_capture_to_pool",
"scenario_gpu_device_loss_recovery",
"scenario_event_log_replay_determinism",
"scenario_ffi_airlock_negative_space",
"scenario_encoder_handoff_dryrun",
]
[platforms.windows-vm]
description = "Windows 11 ARM Parallels VM - ARM-only, limited GPU access"
runner = "prlctl"
prlctl_vm = "Windows 11"
cargo_build = true
ts_driver = true
scenarios = [
"scenario_audio_capture_to_mix",
"scenario_screen_capture_to_pool",
"scenario_event_log_replay_determinism",
"scenario_ffi_airlock_negative_space",
"scenario_encoder_handoff_dryrun",
]
[scenario.scenario_audio_capture_to_mix]
description = "Real PCM capture -> SourceRing -> AudioMixSession -> APM -> mix output"
expected_runtime_seconds = 5
applicable_platforms = ["macos", "linux-fedora", "windows-tailnet", "windows-vm"]
driver = "rust"
subcommand = "audio-capture-to-mix"
[scenario.scenario_screen_capture_to_pool]
description = "Real screen capture -> FramePool with allocation-free steady state"
expected_runtime_seconds = 5
applicable_platforms = ["macos", "linux-fedora", "windows-tailnet", "windows-vm"]
driver = "rust"
subcommand = "screen-capture-to-pool"
[scenario.scenario_gpu_device_loss_recovery]
description = "wgpu device loss -> GpuLossRegistry rebuild walk -> Nv12Packer ready"
expected_runtime_seconds = 10
applicable_platforms = ["macos", "linux-fedora", "windows-tailnet"]
driver = "rust"
subcommand = "gpu-device-loss-recovery"
[scenario.scenario_event_log_replay_determinism]
description = "Fixed-seed simulator scenario - hash agreement across platforms"
expected_runtime_seconds = 20
applicable_platforms = ["macos", "linux-fedora", "windows-tailnet", "windows-vm"]
driver = "typescript"
ts_entry = "tools/integration/ts-driver/event_log_replay_determinism.ts"
[scenario.scenario_ffi_airlock_negative_space]
description = "Malformed audio frame -> Rust receive-side assert panic with expected message"
expected_runtime_seconds = 3
applicable_platforms = ["macos", "linux-fedora", "windows-tailnet", "windows-vm"]
driver = "rust"
subcommand = "ffi-airlock-negative"
[scenario.scenario_encoder_handoff_dryrun]
description = "EncoderInputRing - D3D11KeyedMutexBackend on Windows, CpuMemcpyBackend elsewhere - 8 slots, DTS offset, skip-don't-block"
expected_runtime_seconds = 5
applicable_platforms = ["macos", "linux-fedora", "windows-tailnet", "windows-vm"]
driver = "rust"
subcommand = "encoder-handoff-dryrun"