Four independent CI failures the first real cross-platform run surfaced:
- macOS SIGSEGV: the real-GL unit tests in gl_bridge ran wherever CGL is
available, including the headless CI runner. Gate them with the same
OAK_GPU_TESTS switch the integration GL tests already use (skip on CI,
opt in on a real Mac).
- Windows build: examples compile under `cargo test`, and bench_playback
used libc::getrusage unconditionally. Keep the Unix CPU accounting
behind #[cfg(unix)] and report zero CPU seconds elsewhere.
- openKylin arm64: engine_without_a_project_hits_the_guard_paths assumed
the library backend was unconfigured while a parallel config test
transiently set Storage/Backend=sqlite. Take the shared config lock and
pin the key off for the test's duration.
- openKylin x64: the prefetch smoke test asserted an exact decode count,
but the hand-off LRU holds only DECODE_LRU_CAP (2) frames, so a request
can miss the prefetched copy under scheduling pressure and re-run the
producer (the eval cache still serves the pixels). Bound the count
instead of pinning it; the deterministic sibling test pins read-ahead
usage.