From bb49daa17cfbb244a239b620372eaf27ed252b0f Mon Sep 17 00:00:00 2001 From: skal Date: Wed, 4 Feb 2026 13:10:57 +0100 Subject: feat(audio): Implement mock audio backend for testing (Task #51.2) Created MockAudioBackend for deterministic audio event recording and timing verification. Enables robust tracker synchronization testing. Changes: - Created VoiceTriggerEvent structure (timestamp, spec_id, volume, pan) - Implemented MockAudioBackend with event recording capabilities - Added time tracking: manual (advance_time) and automatic (on_frames_rendered) - Created test_mock_backend.cc with 6 comprehensive test scenarios - Verified synth integration and audio_render_silent compatibility - Added to CMake test builds All test infrastructure guarded by #if !defined(STRIP_ALL). Zero size impact on production build. All 14 tests pass. handoff(Claude): Task #51.2 complete, mock backend ready for tracker tests Co-Authored-By: Claude Sonnet 4.5 --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 03ce641..37d9459 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -286,6 +286,10 @@ if(DEMO_BUILD_TESTS) target_link_libraries(test_audio_backend PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_audio_backend generate_demo_assets) + add_demo_test(test_mock_backend MockAudioBackendTest src/tests/test_mock_backend.cc src/audio/mock_audio_backend.cc ${GEN_DEMO_CC}) + target_link_libraries(test_mock_backend PRIVATE audio util procedural ${DEMO_LIBS}) + add_dependencies(test_mock_backend generate_demo_assets) + add_demo_test(test_tracker TrackerSystemTest src/tests/test_tracker.cc ${GEN_DEMO_CC} ${GENERATED_MUSIC_DATA_CC}) target_link_libraries(test_tracker PRIVATE audio util procedural ${DEMO_LIBS}) add_dependencies(test_tracker generate_tracker_music) -- cgit v1.2.3