diff --git a/VisualC/tests/testautomation/testautomation.vcxproj b/VisualC/tests/testautomation/testautomation.vcxproj
index 1673aeeba..0acc54af9 100644
--- a/VisualC/tests/testautomation/testautomation.vcxproj
+++ b/VisualC/tests/testautomation/testautomation.vcxproj
@@ -206,6 +206,7 @@
+
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index c2fcc766a..0781aad13 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -96,7 +96,6 @@ add_executable(testgesture testgesture.c)
add_executable(testgl2 testgl2.c)
add_executable(testgles testgles.c)
add_executable(testgles2 testgles2.c)
-add_executable(testguid testguid.c)
add_executable(testhaptic testhaptic.c)
add_executable(testhotplug testhotplug.c)
add_executable(testrumble testrumble.c)
@@ -178,7 +177,6 @@ SET(ALL_TESTS
testgl2
testgles
testgles2
- testguid
testhaptic
testhittesting
testhotplug
@@ -227,7 +225,6 @@ set(NONINTERACTIVE
testatomic
testerror
testfilesystem
- testguid
testlocale
testplatform
testpower
@@ -337,7 +334,6 @@ if(PSP)
testfilesystem
testgeometry
testgl2
- testguid
testhittesting
testiconv
testintersections
diff --git a/test/Makefile.in b/test/Makefile.in
index 2bcfa92b4..435e50fd4 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -40,7 +40,6 @@ TARGETS = \
testgamecontroller$(EXE) \
testgeometry$(EXE) \
testgesture$(EXE) \
- testguid$(EXE) \
testhaptic$(EXE) \
testhittesting$(EXE) \
testhotplug$(EXE) \
@@ -138,6 +137,7 @@ testautomation$(EXE): $(srcdir)/testautomation.c \
$(srcdir)/testautomation_audio.c \
$(srcdir)/testautomation_clipboard.c \
$(srcdir)/testautomation_events.c \
+ $(srcdir)/testautomation_guid.c \
$(srcdir)/testautomation_keyboard.c \
$(srcdir)/testautomation_main.c \
$(srcdir)/testautomation_mouse.c \
@@ -216,9 +216,6 @@ testgles2$(EXE): $(srcdir)/testgles2.c
testgles2_sdf$(EXE): $(srcdir)/testgles2_sdf.c $(srcdir)/testutils.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@
-testguid$(EXE): $(srcdir)/testguid.c
- $(CC) -o $@ $^ $(CFLAGS) $(LIBS)
-
testhaptic$(EXE): $(srcdir)/testhaptic.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
diff --git a/test/testguid.c b/test/testautomation_guid.c
similarity index 57%
rename from test/testguid.c
rename to test/testautomation_guid.c
index 29ccb6a21..0bfedebde 100644
--- a/test/testguid.c
+++ b/test/testautomation_guid.c
@@ -1,42 +1,13 @@
-/*
- Copyright (C) 1997-2022 Sam Lantinga
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely.
-*/
-
/**
- * Automated tests for GUID processing
+ * GUID test suite
*/
-#include
-
#include "SDL.h"
+#include "SDL_test.h"
-/* Helpers */
+/* ================= Test Case Implementation ================== */
-static int _error_count = 0;
-
-static int
-_require_eq(Uint64 expected, Uint64 actual, int line, char *msg)
-{
- if (expected != actual) {
- _error_count += 1;
- SDL_LogError(SDL_LOG_CATEGORY_ERROR, "[%s, L%d] %s: Actual %ld (0x%lx) != expected %ld (0x%lx)",
- __FILE__, line, msg, actual, actual, expected, expected);
- return 0;
- }
- return 1;
-}
-
-#define ASSERT_EQ(MSG, EXPECTED, ACTUAL) _require_eq((EXPECTED), (ACTUAL), __LINE__, (MSG))
-
-/* Helpers */
+/* Helper functions */
#define NUM_TEST_GUIDS 5
@@ -75,18 +46,20 @@ upper_lower_to_bytestring(Uint8* out, Uint64 upper, Uint64 lower)
}
}
-/* ================= Test Case Implementation ================== */
+
+/* Test case functions */
/**
* @brief Check String-to-GUID conversion
*
* @sa SDL_GUIDFromString
*/
-static void
-TestGuidFromString(void)
+static int
+TestGuidFromString(void *arg)
{
int i;
+ SDLTest_AssertPass("Call to SDL_GUIDFromString");
for (i = 0; i < NUM_TEST_GUIDS; ++i) {
Uint8 expected[16];
SDL_GUID guid;
@@ -95,10 +68,10 @@ TestGuidFromString(void)
test_guids[i].upper, test_guids[i].lower);
guid = SDL_GUIDFromString(test_guids[i].str);
- if (!ASSERT_EQ("GUID from string", 0, SDL_memcmp(expected, guid.data, 16))) {
- SDL_Log(" GUID was: '%s'", test_guids[i].str);
- }
+ SDLTest_AssertCheck(SDL_memcmp(expected, guid.data, 16) == 0, "GUID from string, GUID was: '%s'", test_guids[i].str);
}
+
+ return TEST_COMPLETED;
}
/**
@@ -106,11 +79,12 @@ TestGuidFromString(void)
*
* @sa SDL_GUIDToString
*/
-static void
-TestGuidToString(void)
+static int
+TestGuidToString(void *arg)
{
int i;
+ SDLTest_AssertPass("Call to SDL_GUIDToString");
for (i = 0; i < NUM_TEST_GUIDS; ++i) {
const int guid_str_offset = 4;
char guid_str_buf[64];
@@ -134,36 +108,43 @@ TestGuidToString(void)
/* Check bytes before guid_str_buf */
expected_prefix = fill_char | (fill_char << 8) | (fill_char << 16) | (fill_char << 24);
SDL_memcpy(&actual_prefix, guid_str_buf, 4);
- if (!ASSERT_EQ("String buffer memory before output untouched: ", expected_prefix, actual_prefix)) {
- SDL_Log(" at size=%d", size);
- }
+ SDLTest_AssertCheck(expected_prefix == actual_prefix, "String buffer memory before output untouched, expected: %i, got: %i, at size=%d", expected_prefix, actual_prefix, size);
/* Check that we did not overwrite too much */
written_size = 0;
while ((guid_str[written_size] & 0xff) != fill_char && written_size < 256) {
++written_size;
}
- if (!ASSERT_EQ("Output length is within expected bounds", 1, written_size <= size)) {
- SDL_Log(" with length %d: wrote %d of %d permitted bytes",
- size, written_size, size);
- }
+ SDLTest_AssertCheck(written_size <= size, "Output length is within expected bounds, with length %d: wrote %d of %d permitted bytes", size, written_size, size);
if (size >= 33) {
- if (!ASSERT_EQ("GUID string equality", 0, SDL_strcmp(guid_str, test_guids[i].str))) {
- SDL_Log(" from string: %s", test_guids[i].str);
- }
+ SDLTest_AssertCheck(SDL_strcmp(guid_str, test_guids[i].str) == 0, "GUID string equality, from string: %s", test_guids[i].str);
}
}
}
+
+ return TEST_COMPLETED;
}
-int
-main(int argc, char *argv[])
-{
- /* Enable standard application logging */
- SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
+/* ================= Test References ================== */
- TestGuidFromString();
- TestGuidToString();
+/* GUID routine test cases */
+static const SDLTest_TestCaseReference guidTest1 =
+ { (SDLTest_TestCaseFp)TestGuidFromString, "TestGuidFromString", "Call to SDL_GUIDFromString", TEST_ENABLED };
- return _error_count > 0;
-}
+static const SDLTest_TestCaseReference guidTest2 =
+ { (SDLTest_TestCaseFp)TestGuidToString, "TestGuidToString", "Call to SDL_GUIDToString", TEST_ENABLED };
+
+/* Sequence of GUID routine test cases */
+static const SDLTest_TestCaseReference *guidTests[] = {
+ &guidTest1,
+ &guidTest2,
+ NULL
+};
+
+/* GUID routine test suite (global) */
+SDLTest_TestSuiteReference guidTestSuite = {
+ "GUID",
+ NULL,
+ guidTests,
+ NULL
+};
diff --git a/test/testautomation_suites.h b/test/testautomation_suites.h
index a8c886384..a03cdbcbc 100644
--- a/test/testautomation_suites.h
+++ b/test/testautomation_suites.h
@@ -12,6 +12,7 @@
extern SDLTest_TestSuiteReference audioTestSuite;
extern SDLTest_TestSuiteReference clipboardTestSuite;
extern SDLTest_TestSuiteReference eventsTestSuite;
+extern SDLTest_TestSuiteReference guidTestSuite;
extern SDLTest_TestSuiteReference keyboardTestSuite;
extern SDLTest_TestSuiteReference mainTestSuite;
extern SDLTest_TestSuiteReference mouseTestSuite;
@@ -34,6 +35,7 @@ SDLTest_TestSuiteReference *testSuites[] = {
&audioTestSuite,
&clipboardTestSuite,
&eventsTestSuite,
+ &guidTestSuite,
&keyboardTestSuite,
&mainTestSuite,
&mouseTestSuite,
diff --git a/test/watcom.mif b/test/watcom.mif
index fd9bff7f5..91036f9a3 100644
--- a/test/watcom.mif
+++ b/test/watcom.mif
@@ -11,7 +11,7 @@ TARGETS = testatomic.exe testdisplayinfo.exe testbounds.exe testdraw2.exe &
testdrawchessboard.exe testdropfile.exe testerror.exe testfile.exe &
testfilesystem.exe testgamecontroller.exe testgeometry.exe testgesture.exe &
testhittesting.exe testhotplug.exe testiconv.exe testime.exe testlocale.exe &
- testguid.exe testintersections.exe testjoystick.exe testkeys.exe testloadso.exe &
+ testintersections.exe testjoystick.exe testkeys.exe testloadso.exe &
testlock.exe testmessage.exe testoverlay2.exe testplatform.exe &
testpower.exe testsensor.exe testrelative.exe testrendercopyex.exe &
testrendertarget.exe testrumble.exe testscale.exe testsem.exe &
@@ -58,7 +58,7 @@ TASRCS = testautomation.c testautomation_audio.c testautomation_clipboard.c &
testautomation_sdltest.c testautomation_stdlib.c &
testautomation_surface.c testautomation_syswm.c &
testautomation_timer.c testautomation_video.c &
- testautomation_math.c
+ testautomation_math.c testautomation_guid.c
OBJS = $(TARGETS:.exe=.obj)
COBJS = $(CSRCS:.c=.obj)