From b4291412a4b661a613666b085741fd3e8eec2ea2 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Thu, 25 May 2023 01:15:12 +0200
Subject: [PATCH] tests: build tests with C90 standard
C90 mode is disabled for:
- testautomation: use of isnan/isfinite
- testlock: use of kill
- testvulkan: use of c++ style strings in vulkan.h
---
test/CMakeLists.txt | 12 ++++++++----
test/checkkeysthreads.c | 1 -
test/testaudiostreamdynamicresample.c | 6 +++---
test/testgles2_sdf.c | 2 +-
test/testpopup.c | 2 +-
test/testshape.c | 4 ++--
test/testvulkan.c | 4 ++--
test/testyuv_cvt.c | 14 ++++++++------
8 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index d6a7acc7bf82..637a0c45ed0e 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -63,7 +63,7 @@ define_property(TARGET PROPERTY SDL_NONINTERACTIVE_ARGUMENTS BRIEF_DOCS "Argumen
define_property(TARGET PROPERTY SDL_NONINTERACTIVE_TIMEOUT BRIEF_DOCS "Timeout for noninteractive executable." FULL_DOCS "Timeout for noninteractive executable.")
macro(add_sdl_test_executable TARGET)
- cmake_parse_arguments(AST "NONINTERACTIVE;NEEDS_RESOURCES;TESTUTILS" "" "NONINTERACTIVE_TIMEOUT;NONINTERACTIVE_ARGS;SOURCES" ${ARGN})
+ cmake_parse_arguments(AST "NONINTERACTIVE;NEEDS_RESOURCES;TESTUTILS;NO_C90" "" "NONINTERACTIVE_TIMEOUT;NONINTERACTIVE_ARGS;SOURCES" ${ARGN})
if(AST_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unknown argument(s): ${AST_UNPARSED_ARGUMENTS}")
endif()
@@ -82,6 +82,10 @@ macro(add_sdl_test_executable TARGET)
if(AST_TESTUTILS)
target_link_libraries(${TARGET} PRIVATE sdltests_utils)
endif()
+ if(NOT AST_NO_C90 AND NOT SDL_CMAKE_PLATFORM MATCHES "^(n3ds|ps2|psp)$")
+ set_property(TARGET ${TARGET} PROPERTY C_STANDARD 90)
+ set_property(TARGET ${TARGET} PROPERTY C_EXTENSIONS FALSE)
+ endif()
list(APPEND SDL_TEST_EXECUTABLES ${TARGET})
if(AST_NONINTERACTIVE)
@@ -154,7 +158,7 @@ add_sdl_test_executable(testaudioinfo SOURCES testaudioinfo.c)
add_sdl_test_executable(testaudiostreamdynamicresample SOURCES testaudiostreamdynamicresample.c)
file(GLOB TESTAUTOMATION_SOURCE_FILES testautomation*.c)
-add_sdl_test_executable(testautomation NEEDS_RESOURCES SOURCES ${TESTAUTOMATION_SOURCE_FILES})
+add_sdl_test_executable(testautomation NEEDS_RESOURCES NO_C90 SOURCES ${TESTAUTOMATION_SOURCE_FILES})
add_sdl_test_executable(testmultiaudio NEEDS_RESOURCES TESTUTILS SOURCES testmultiaudio.c)
add_sdl_test_executable(testaudiohotplug NEEDS_RESOURCES TESTUTILS SOURCES testaudiohotplug.c)
add_sdl_test_executable(testaudiocapture SOURCES testaudiocapture.c)
@@ -224,7 +228,7 @@ add_sdl_test_executable(testjoystick SOURCES testjoystick.c)
add_sdl_test_executable(testkeys SOURCES testkeys.c)
add_sdl_test_executable(testloadso SOURCES testloadso.c)
add_sdl_test_executable(testlocale NONINTERACTIVE SOURCES testlocale.c)
-add_sdl_test_executable(testlock SOURCES testlock.c)
+add_sdl_test_executable(testlock NO_C90 SOURCES testlock.c)
add_sdl_test_executable(testrwlock SOURCES testrwlock.c)
add_sdl_test_executable(testmouse SOURCES testmouse.c)
@@ -255,7 +259,7 @@ add_sdl_test_executable(testqsort NONINTERACTIVE SOURCES testqsort.c)
add_sdl_test_executable(testbounds NONINTERACTIVE SOURCES testbounds.c)
add_sdl_test_executable(testcustomcursor SOURCES testcustomcursor.c)
add_sdl_test_executable(gamepadmap NEEDS_RESOURCES TESTUTILS SOURCES gamepadmap.c)
-add_sdl_test_executable(testvulkan SOURCES testvulkan.c)
+add_sdl_test_executable(testvulkan NO_C90 SOURCES testvulkan.c)
add_sdl_test_executable(testoffscreen SOURCES testoffscreen.c)
add_sdl_test_executable(testpopup SOURCES testpopup.c)
diff --git a/test/checkkeysthreads.c b/test/checkkeysthreads.c
index f245bc96550a..89d5188d6f29 100644
--- a/test/checkkeysthreads.c
+++ b/test/checkkeysthreads.c
@@ -174,7 +174,6 @@ static void loop(void)
(void)fprintf(stderr, "starting loop\n");
(void)fflush(stderr);
- // while (SDL_PollEvent(&event)) {
while (!done && SDL_WaitEvent(&event)) {
SDL_Log("Got event type: %" SDL_PRIu32 "\n", event.type);
switch (event.type) {
diff --git a/test/testaudiostreamdynamicresample.c b/test/testaudiostreamdynamicresample.c
index 78dfe3b4fa23..66600181143f 100644
--- a/test/testaudiostreamdynamicresample.c
+++ b/test/testaudiostreamdynamicresample.c
@@ -87,19 +87,19 @@ int main(int argc, char *argv[])
}
SDL_SetWindowTitle(window, title);
- // this math sucks, but whatever.
+ /* this math sucks, but whatever. */
if (multiplier < 0) {
newfreq = spec.freq + (int) ((spec.freq * (multiplier / 400.0f)) * 0.75f);
} else if (multiplier > 0) {
newfreq = spec.freq + (int) (spec.freq * (multiplier / 100.0f));
}
- //SDL_Log("newfreq=%d multiplier=%d\n", newfreq, multiplier);
+ /* SDL_Log("newfreq=%d multiplier=%d\n", newfreq, multiplier); */
SDL_LockAudioDevice(device);
SDL_SetAudioStreamFormat(stream, spec.format, spec.channels, newfreq, spec.format, spec.channels, spec.freq);
SDL_UnlockAudioDevice(device);
}
- // keep it looping.
+ /* keep it looping. */
if (SDL_GetAudioStreamAvailable(stream) < (1024 * 100)) {
SDL_PutAudioStreamData(stream, audio_buf, audio_len);
}
diff --git a/test/testgles2_sdf.c b/test/testgles2_sdf.c
index be107814e770..aadb031fd3e6 100644
--- a/test/testgles2_sdf.c
+++ b/test/testgles2_sdf.c
@@ -758,7 +758,7 @@ int main(int argc, char *argv[])
ctx.glBindTexture(g_texture_type, g_texture);
GL_CHECK(ctx.glClearColor(1, 1, 1, 1));
- // SDL_BLENDMODE_BLEND
+ /* SDL_BLENDMODE_BLEND */
GL_CHECK(ctx.glEnable(GL_BLEND));
ctx.glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
ctx.glBlendEquationSeparate(GL_FUNC_ADD, GL_FUNC_ADD);
diff --git a/test/testpopup.c b/test/testpopup.c
index 6ce0b0bd58dd..a8ecabe065bd 100644
--- a/test/testpopup.c
+++ b/test/testpopup.c
@@ -180,7 +180,7 @@ static void loop(void)
SDL_HideWindow(menus[i].win);
}
}
- // Don't process this event in SDLTest_CommonEvent()
+ /* Don't process this event in SDLTest_CommonEvent() */
continue;
}
}
diff --git a/test/testshape.c b/test/testshape.c
index eac8d085f2f0..ae5ee560bdcf 100644
--- a/test/testshape.c
+++ b/test/testshape.c
@@ -232,8 +232,8 @@ int main(int argc, char **argv)
rc = 0;
-// SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software");
-// SDL_SetHint(SDL_HINT_VIDEO_FORCE_EGL, "0");
+ /* SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software"); */
+ /* SDL_SetHint(SDL_HINT_VIDEO_FORCE_EGL, "0"); */
/* Enable standard application logging */
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
diff --git a/test/testvulkan.c b/test/testvulkan.c
index dede60e94cbe..c20e4bc9e5ed 100644
--- a/test/testvulkan.c
+++ b/test/testvulkan.c
@@ -177,8 +177,8 @@ typedef struct VulkanContext
} VulkanContext;
static SDLTest_CommonState *state;
-static VulkanContext *vulkanContexts = NULL; // an array of state->num_windows items
-static VulkanContext *vulkanContext = NULL; // for the currently-rendering window
+static VulkanContext *vulkanContexts = NULL; /* an array of state->num_windows items */
+static VulkanContext *vulkanContext = NULL; /* for the currently-rendering window */
static void shutdownVulkan(SDL_bool doDestroySwapchain);
diff --git a/test/testyuv_cvt.c b/test/testyuv_cvt.c
index 416f7a8bcc23..3bed56177923 100644
--- a/test/testyuv_cvt.c
+++ b/test/testyuv_cvt.c
@@ -27,12 +27,14 @@ static void RGBtoYUV(const Uint8 *rgb, int *yuv, SDL_YUV_CONVERSION_MODE mode, i
yuv[1] = (int)((rgb[2] - yuv[0]) * 0.565 + 128);
yuv[2] = (int)((rgb[0] - yuv[0]) * 0.713 + 128);
} else {
- // This formula is from Microsoft's documentation:
- // https://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx
- // L = Kr * R + Kb * B + (1 - Kr - Kb) * G
- // Y = SDL_floor(2^(M-8) * (219*(L-Z)/S + 16) + 0.5);
- // U = clip3(0, (2^M)-1, SDL_floor(2^(M-8) * (112*(B-L) / ((1-Kb)*S) + 128) + 0.5));
- // V = clip3(0, (2^M)-1, SDL_floor(2^(M-8) * (112*(R-L) / ((1-Kr)*S) + 128) + 0.5));
+ /**
+ * This formula is from Microsoft's documentation:
+ * https://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx
+ * L = Kr * R + Kb * B + (1 - Kr - Kb) * G
+ * Y = SDL_floor(2^(M-8) * (219*(L-Z)/S + 16) + 0.5);
+ * U = clip3(0, (2^M)-1, SDL_floor(2^(M-8) * (112*(B-L) / ((1-Kb)*S) + 128) + 0.5));
+ * V = clip3(0, (2^M)-1, SDL_floor(2^(M-8) * (112*(R-L) / ((1-Kr)*S) + 128) + 0.5));
+ */
float S, Z, R, G, B, L, Kr, Kb, Y, U, V;
if (mode == SDL_YUV_CONVERSION_BT709) {