|
- /**
- * Unit test entry point
- */
-
- #include <stdio.h>
- #include <assert.h>
- #include <string>
-
- extern void testBiquad();
- extern void testTestSignal();
- extern void testSaw();
- extern void testLookupTable();
- extern void testSinOscillator();
- extern void testHilbert();
- extern void testAudioMath();
- extern void perfTest();
- extern void testFrequencyShifter();
- extern void testStateVariable();
- extern void testVocalAnimator();
- extern void testObjectCache();
- extern void testThread(bool exended);
- extern void testFFT();
- extern void testRingBuffer();
- extern void testManagedPool();
- extern void testColoredNoise();
- extern void testFFTCrossFader();
- extern void testFinalLeaks();
- extern void testClockMult();
- extern void testTremolo();
- extern void testGateTrigger();
-
- int main(int argc, char ** argv)
- {
- bool runPerf = false;
- bool extended = false;
- if (argc > 1) {
- std::string arg = argv[1];
- if (arg == "--ext") {
- extended = true;
- }
- }
- #ifdef _PERF
- runPerf = true;
- #ifndef NDEBUG
- #error asserts should be off for perf test
- #endif
- #endif
- // While this code may work in 32 bit applications, it's not tested for that.
- // Want to be sure we are testing the case we care about.
- assert(sizeof(size_t) == 8);
-
- testAudioMath();
- testRingBuffer();
- testGateTrigger();
- testManagedPool();
- testLookupTable();
- testObjectCache();
- testTestSignal();
- testBiquad();
- testSaw();
- testClockMult();
-
- testSinOscillator();
- testHilbert();
- testStateVariable();
-
- testFFT();
- testFFTCrossFader();
- testThread(extended);
-
- // after testing all the components, test composites.
- testTremolo();
- testColoredNoise();
- testFrequencyShifter();
- testVocalAnimator();
-
- if (runPerf) {
- perfTest();
- }
-
- testFinalLeaks();
-
- // When we run inside Visual Studio, don't exit debugger immediately
- #if defined(_MSC_VER)
- printf("Test passed. Press any key to continue...\n"); fflush(stdout);
- getchar();
- #else
- printf("Tests passed.\n");
- #endif
- }
|