summaryrefslogtreecommitdiff
path: root/src/tests/common/effect_test_fixture.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-14 02:39:49 +0100
committerskal <pascal.massimino@gmail.com>2026-02-14 02:39:49 +0100
commit8dd77545b5ec2f45ce46b98dd7d94a3c4a13e290 (patch)
treea338b9c1356da64a609621155c81d8d96f7ca7fe /src/tests/common/effect_test_fixture.cc
parentc007d7fa6ddb1936108aeca156b2a4bda425ca84 (diff)
Factor common test patterns into reusable utilitiesHEADmain
Refactor duplicated test setup/teardown code into shared fixtures: - test_math_helpers.h: Float comparison (test_near, test_near_vec3) - AudioTestFixture: RAII wrapper for AudioEngine lifecycle - EffectTestFixture: Combined WebGPU + AudioEngine + MainSequence Migrated 9 test files (3 math, 6 audio) to use fixtures. Net reduction: 54 LOC (178 insertions, 232 deletions). All 34 tests passing. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/tests/common/effect_test_fixture.cc')
-rw-r--r--src/tests/common/effect_test_fixture.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/tests/common/effect_test_fixture.cc b/src/tests/common/effect_test_fixture.cc
new file mode 100644
index 0000000..b403ef6
--- /dev/null
+++ b/src/tests/common/effect_test_fixture.cc
@@ -0,0 +1,23 @@
+// effect_test_fixture.cc - Combined WebGPU + AudioEngine + MainSequence fixture
+// Simplifies GPU effect test setup
+
+#include "effect_test_fixture.h"
+#include <stdio.h>
+
+EffectTestFixture::EffectTestFixture() {}
+
+EffectTestFixture::~EffectTestFixture() {
+ if (m_initialized) {
+ m_gpu.shutdown();
+ }
+}
+
+bool EffectTestFixture::init() {
+ if (!m_gpu.init()) {
+ fprintf(stdout, " ⚠ WebGPU unavailable - skipping test\n");
+ return false;
+ }
+ m_sequence.init_test(ctx());
+ m_initialized = true;
+ return true;
+}