diff --git a/tests/test_common/ma_test_common.c b/tests/test_common/ma_test_common.c new file mode 100644 index 00000000..ad47e09a --- /dev/null +++ b/tests/test_common/ma_test_common.c @@ -0,0 +1,37 @@ +#define MINIAUDIO_IMPLEMENTATION +#include "../../miniaudio.h" + +#include + +#define MAX_TESTS 64 + +typedef int (* ma_test_entry_proc)(int argc, char** argv); + +typedef struct +{ + const char* pName; + ma_test_entry_proc onEntry; +} ma_test; + +struct +{ + ma_test pTests[MAX_TESTS]; + size_t count; +} g_Tests; + +ma_result ma_register_test(const char* pName, ma_test_entry_proc onEntry) +{ + MA_ASSERT(pName != NULL); + MA_ASSERT(onEntry != NULL); + + if (g_Tests.count >= MAX_TESTS) { + printf("Failed to register test %s because there are too many tests already registered. Increase the value of MAX_TESTS\n", pName); + return MA_INVALID_OPERATION; + } + + g_Tests.pTests[g_Tests.count].pName = pName; + g_Tests.pTests[g_Tests.count].onEntry = onEntry; + g_Tests.count += 1; + + return MA_SUCCESS; +} \ No newline at end of file diff --git a/tests/test_generation/ma_test_generation.c b/tests/test_generation/ma_test_generation.c index daa1f929..f2b1a416 100644 --- a/tests/test_generation/ma_test_generation.c +++ b/tests/test_generation/ma_test_generation.c @@ -1,11 +1,8 @@ -#define MINIAUDIO_IMPLEMENTATION -#include "../../miniaudio.h" +#include "../test_common/ma_test_common.c" #define DR_WAV_IMPLEMENTATION #include "../../extras/dr_wav.h" -#include - static drwav_data_format drwav_data_format_from_minaudio_format(ma_format format, ma_uint32 channels, ma_uint32 sampleRate) { drwav_data_format wavFormat; @@ -27,39 +24,6 @@ static drwav_data_format drwav_data_format_from_minaudio_format(ma_format format #include "ma_test_generation_noise.c" #include "ma_test_generation_waveform.c" -#define MAX_TESTS 64 - -typedef int (* ma_test_entry_proc)(int argc, char** argv); - -typedef struct -{ - const char* pName; - ma_test_entry_proc onEntry; -} ma_test; - -struct -{ - ma_test pTests[MAX_TESTS]; - size_t count; -} g_Tests; - -ma_result ma_register_test(const char* pName, ma_test_entry_proc onEntry) -{ - MA_ASSERT(pName != NULL); - MA_ASSERT(onEntry != NULL); - - if (g_Tests.count >= MAX_TESTS) { - printf("Failed to register test %s because there are too many tests already registered. Increase the value of MAX_TESTS\n", pName); - return MA_INVALID_OPERATION; - } - - g_Tests.pTests[g_Tests.count].pName = pName; - g_Tests.pTests[g_Tests.count].onEntry = onEntry; - g_Tests.count += 1; - - return MA_SUCCESS; -} - int main(int argc, char** argv) { ma_result result;