This repo now uses explicit test profiles so CI can stay stable while still allowing deeper runtime coverage locally.
AESTRA_ENABLE_RUNTIME_TESTS (default: OFF)Enables tests that depend on host runtime conditions (audio device availability, integration assumptions):
ProjectRoundTripTestAutosaveRoundTripTestAestraAudioTestAestraAudioSoakTestAESTRA_ENABLE_EXPERIMENTAL_TESTS (default: OFF)Enables tests currently under investigation for consistency/portability:
AestraWaveformLockTestAestraAudioCallbackTestAestraFilterTestAestraSampleRateConverterTestThese are still compiled by default, but not registered in CTest unless explicitly enabled.
cmake -S . -B build
cmake --build build -j2
cd build
ctest --output-on-failure
These are the self-contained tests that currently give the best signal for the internal plugin + project path work:
RumbleStateTestRumblePluginFactoryTestRumbleUsagePathTestRumbleDiscoveryTestArsenalInstrumentAttachmentTestInternalPluginProjectRoundTripTestRumbleRenderTestRumbleArsenalAudibleTestProjectRoundTripTestRecommended local run:
cmake -S . -B build-dev
cmake --build build-dev --target \
RumbleStateTest \
RumblePluginFactoryTest \
RumbleUsagePathTest \
RumbleDiscoveryTest \
ArsenalInstrumentAttachmentTest \
InternalPluginProjectRoundTripTest \
RumbleRenderTest \
RumbleArsenalAudibleTest \
ProjectRoundTripTest -j2
./build-dev/Tests/RumbleStateTest
./build-dev/Tests/RumblePluginFactoryTest
./build-dev/Tests/RumbleUsagePathTest
./build-dev/Tests/RumbleDiscoveryTest
./build-dev/Tests/ArsenalInstrumentAttachmentTest
./build-dev/Tests/InternalPluginProjectRoundTripTest
./build-dev/Tests/Headless/RumbleRenderTest /tmp/rumble_ci
./build-dev/Tests/Headless/RumbleArsenalAudibleTest
./build-dev/Tests/ProjectRoundTripTest
OfflineRenderRegressionTest is built and available, but it is currently fixture-driven rather than self-contained.
It requires a project file and a reference WAV:
./build-dev/Tests/Headless/OfflineRenderRegressionTest <project.aes> <reference.wav>
That means a clean nightly/CI workflow still needs canonical fixtures before this test can be treated as a reliable green/red gate.
cmake -S . -B build \
-DAESTRA_ENABLE_RUNTIME_TESTS=ON \
-DAESTRA_ENABLE_EXPERIMENTAL_TESTS=ON
cmake --build build -j2
cd build
ctest --output-on-failure
When enabled, runtime/experimental suites are labeled to support filtered runs:
Examples:
# Run only runtime tests (if enabled)
ctest -L runtime --output-on-failure
# Skip unstable tests
ctest -LE unstable --output-on-failure