From 1f89e05dcf229c368bd20d4cb36392c9db88b294 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Sat, 17 Aug 2024 23:20:41 +0200
Subject: [PATCH] testautomation: skip window resize and repositioning tests on
Emscripten
---
test/testautomation_video.c | 121 +++++++++++++++++++++---------------
1 file changed, 70 insertions(+), 51 deletions(-)
diff --git a/test/testautomation_video.c b/test/testautomation_video.c
index e1cb1293de3f5..7074dd294ca00 100644
--- a/test/testautomation_video.c
+++ b/test/testautomation_video.c
@@ -1683,7 +1683,9 @@ static int video_setWindowCenteredOnDisplay(void *arg)
int displayNum;
int result;
SDL_Rect display0, display1;
- SDL_bool video_driver_is_wayland = SDL_strcmp(SDL_GetCurrentVideoDriver(), "wayland") == 0;
+ const char *video_driver = SDL_GetCurrentVideoDriver();
+ SDL_bool video_driver_is_wayland = SDL_strcmp(video_driver, "wayland") == 0;
+ SDL_bool video_driver_is_emscripten = SDL_strcmp(video_driver, "emscripten") == 0;
displays = SDL_GetDisplays(&displayNum);
if (displays) {
@@ -1758,18 +1760,22 @@ static int video_setWindowCenteredOnDisplay(void *arg)
SDL_GetWindowSize(window, ¤tW, ¤tH);
SDL_GetWindowPosition(window, ¤tX, ¤tY);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_wayland) {
+ SDLTest_Log("Skipping display ID validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentDisplay == expectedDisplay, "Validate display ID (current: %d, expected: %d)", currentDisplay, expectedDisplay);
+ }
+ if (video_driver_is_emscripten) {
+ SDLTest_Log("Skipping window size validation: %s driver does not support window resizing", video_driver);
} else {
- SDLTest_Log("Skipping display ID validation: Wayland driver does not support window positioning");
+ SDLTest_AssertCheck(currentW == w, "Validate width (current: %d, expected: %d)", currentW, w);
+ SDLTest_AssertCheck(currentH == h, "Validate height (current: %d, expected: %d)", currentH, h);
}
- SDLTest_AssertCheck(currentW == w, "Validate width (current: %d, expected: %d)", currentW, w);
- SDLTest_AssertCheck(currentH == h, "Validate height (current: %d, expected: %d)", currentH, h);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_emscripten || video_driver_is_wayland) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentX == expectedX, "Validate x (current: %d, expected: %d)", currentX, expectedX);
SDLTest_AssertCheck(currentY == expectedY, "Validate y (current: %d, expected: %d)", currentY, expectedY);
- } else {
- SDLTest_Log("Skipping window position validation: Wayland driver does not support window positioning");
}
/* Enter fullscreen desktop */
@@ -1794,18 +1800,23 @@ static int video_setWindowCenteredOnDisplay(void *arg)
SDLTest_AssertPass("SDL_GetDisplayBounds()");
SDLTest_AssertCheck(result == 0, "Verify return value; expected: 0, got: %d", result);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_wayland) {
+ SDLTest_Log("Skipping display ID validation: Wayland driver does not support window positioning");
+ } else {
SDLTest_AssertCheck(currentDisplay == expectedDisplay, "Validate display ID (current: %d, expected: %d)", currentDisplay, expectedDisplay);
+ }
+
+ if (video_driver_is_emscripten) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window resizing", video_driver);
} else {
- SDLTest_Log("Skipping display ID validation: Wayland driver does not support window positioning");
+ SDLTest_AssertCheck(currentW == expectedFullscreenRect.w, "Validate width (current: %d, expected: %d)", currentW, expectedFullscreenRect.w);
+ SDLTest_AssertCheck(currentH == expectedFullscreenRect.h, "Validate height (current: %d, expected: %d)", currentH, expectedFullscreenRect.h);
}
- SDLTest_AssertCheck(currentW == expectedFullscreenRect.w, "Validate width (current: %d, expected: %d)", currentW, expectedFullscreenRect.w);
- SDLTest_AssertCheck(currentH == expectedFullscreenRect.h, "Validate height (current: %d, expected: %d)", currentH, expectedFullscreenRect.h);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_emscripten || video_driver_is_wayland) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentX == expectedFullscreenRect.x, "Validate x (current: %d, expected: %d)", currentX, expectedFullscreenRect.x);
SDLTest_AssertCheck(currentY == expectedFullscreenRect.y, "Validate y (current: %d, expected: %d)", currentY, expectedFullscreenRect.y);
- } else {
- SDLTest_Log("Skipping window position validation: Wayland driver does not support window positioning");
}
/* Leave fullscreen desktop */
@@ -1821,18 +1832,22 @@ static int video_setWindowCenteredOnDisplay(void *arg)
SDL_GetWindowSize(window, ¤tW, ¤tH);
SDL_GetWindowPosition(window, ¤tX, ¤tY);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_wayland) {
+ SDLTest_Log("Skipping display ID validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentDisplay == expectedDisplay, "Validate display index (current: %d, expected: %d)", currentDisplay, expectedDisplay);
+ }
+ if (video_driver_is_emscripten) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window resizing", video_driver);
} else {
- SDLTest_Log("Skipping display ID validation: Wayland driver does not support window positioning");
+ SDLTest_AssertCheck(currentW == w, "Validate width (current: %d, expected: %d)", currentW, w);
+ SDLTest_AssertCheck(currentH == h, "Validate height (current: %d, expected: %d)", currentH, h);
}
- SDLTest_AssertCheck(currentW == w, "Validate width (current: %d, expected: %d)", currentW, w);
- SDLTest_AssertCheck(currentH == h, "Validate height (current: %d, expected: %d)", currentH, h);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_wayland) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentX == expectedX, "Validate x (current: %d, expected: %d)", currentX, expectedX);
SDLTest_AssertCheck(currentY == expectedY, "Validate y (current: %d, expected: %d)", currentY, expectedY);
- } else {
- SDLTest_Log("Skipping window position validation: Wayland driver does not support window positioning");
}
/* Center on display yVariation, and check window properties */
@@ -1853,18 +1868,22 @@ static int video_setWindowCenteredOnDisplay(void *arg)
SDL_GetWindowSize(window, ¤tW, ¤tH);
SDL_GetWindowPosition(window, ¤tX, ¤tY);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_wayland) {
+ SDLTest_Log("Skipping display ID validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentDisplay == expectedDisplay, "Validate display ID (current: %d, expected: %d)", currentDisplay, expectedDisplay);
+ }
+ if (video_driver_is_emscripten) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window resizing", video_driver);
} else {
- SDLTest_Log("Skipping display ID validation: Wayland driver does not support window positioning");
+ SDLTest_AssertCheck(currentW == w, "Validate width (current: %d, expected: %d)", currentW, w);
+ SDLTest_AssertCheck(currentH == h, "Validate height (current: %d, expected: %d)", currentH, h);
}
- SDLTest_AssertCheck(currentW == w, "Validate width (current: %d, expected: %d)", currentW, w);
- SDLTest_AssertCheck(currentH == h, "Validate height (current: %d, expected: %d)", currentH, h);
- if (!video_driver_is_wayland) {
+ if (video_driver_is_wayland) {
+ SDLTest_Log("Skipping window position validation: %s driver does not support window positioning", video_driver);
+ } else {
SDLTest_AssertCheck(currentX == expectedX, "Validate x (current: %d, expected: %d)", currentX, expectedX);
SDLTest_AssertCheck(currentY == expectedY, "Validate y (current: %d, expected: %d)", currentY, expectedY);
- } else {
- SDLTest_Log("Skipping window position validation: Wayland driver does not support window positioning");
}
/* Clean up */
@@ -2390,91 +2409,91 @@ static int video_getWindowSurface(void *arg)
/* Video test cases */
static const SDLTest_TestCaseReference videoTestEnableDisableScreensaver = {
- (SDLTest_TestCaseFp)video_enableDisableScreensaver, "video_enableDisableScreensaver", "Enable and disable screenaver while checking state", TEST_ENABLED
+ video_enableDisableScreensaver, "video_enableDisableScreensaver", "Enable and disable screenaver while checking state", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestCreateWindowVariousSizes = {
- (SDLTest_TestCaseFp)video_createWindowVariousSizes, "video_createWindowVariousSizes", "Create windows with various sizes", TEST_ENABLED
+ video_createWindowVariousSizes, "video_createWindowVariousSizes", "Create windows with various sizes", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestCreateWindowVariousFlags = {
- (SDLTest_TestCaseFp)video_createWindowVariousFlags, "video_createWindowVariousFlags", "Create windows using various flags", TEST_ENABLED
+ video_createWindowVariousFlags, "video_createWindowVariousFlags", "Create windows using various flags", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetWindowFlags = {
- (SDLTest_TestCaseFp)video_getWindowFlags, "video_getWindowFlags", "Get window flags set during SDL_CreateWindow", TEST_ENABLED
+ video_getWindowFlags, "video_getWindowFlags", "Get window flags set during SDL_CreateWindow", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetFullscreenDisplayModes = {
- (SDLTest_TestCaseFp)video_getFullscreenDisplayModes, "video_getFullscreenDisplayModes", "Use SDL_GetFullscreenDisplayModes function to get number of display modes", TEST_ENABLED
+ video_getFullscreenDisplayModes, "video_getFullscreenDisplayModes", "Use SDL_GetFullscreenDisplayModes function to get number of display modes", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetClosestDisplayModeCurrentResolution = {
- (SDLTest_TestCaseFp)video_getClosestDisplayModeCurrentResolution, "video_getClosestDisplayModeCurrentResolution", "Use function to get closes match to requested display mode for current resolution", TEST_ENABLED
+ video_getClosestDisplayModeCurrentResolution, "video_getClosestDisplayModeCurrentResolution", "Use function to get closes match to requested display mode for current resolution", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetClosestDisplayModeRandomResolution = {
- (SDLTest_TestCaseFp)video_getClosestDisplayModeRandomResolution, "video_getClosestDisplayModeRandomResolution", "Use function to get closes match to requested display mode for random resolution", TEST_ENABLED
+ video_getClosestDisplayModeRandomResolution, "video_getClosestDisplayModeRandomResolution", "Use function to get closes match to requested display mode for random resolution", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetWindowDisplayMode = {
- (SDLTest_TestCaseFp)video_getWindowDisplayMode, "video_getWindowDisplayMode", "Get window display mode", TEST_ENABLED
+ video_getWindowDisplayMode, "video_getWindowDisplayMode", "Get window display mode", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetWindowDisplayModeNegative = {
- (SDLTest_TestCaseFp)video_getWindowDisplayModeNegative, "video_getWindowDisplayModeNegative", "Get window display mode with invalid input", TEST_ENABLED
+ video_getWindowDisplayModeNegative, "video_getWindowDisplayModeNegative", "Get window display mode with invalid input", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowGrab = {
- (SDLTest_TestCaseFp)video_getSetWindowGrab, "video_getSetWindowGrab", "Checks input grab positive and negative cases", TEST_ENABLED
+ video_getSetWindowGrab, "video_getSetWindowGrab", "Checks input grab positive and negative cases", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetWindowID = {
- (SDLTest_TestCaseFp)video_getWindowId, "video_getWindowId", "Checks SDL_GetWindowID and SDL_GetWindowFromID", TEST_ENABLED
+ video_getWindowId, "video_getWindowId", "Checks SDL_GetWindowID and SDL_GetWindowFromID", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetWindowPixelFormat = {
- (SDLTest_TestCaseFp)video_getWindowPixelFormat, "video_getWindowPixelFormat", "Checks SDL_GetWindowPixelFormat", TEST_ENABLED
+ video_getWindowPixelFormat, "video_getWindowPixelFormat", "Checks SDL_GetWindowPixelFormat", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowPosition = {
- (SDLTest_TestCaseFp)video_getSetWindowPosition, "video_getSetWindowPosition", "Checks SDL_GetWindowPosition and SDL_SetWindowPosition positive and negative cases", TEST_ENABLED
+ video_getSetWindowPosition, "video_getSetWindowPosition", "Checks SDL_GetWindowPosition and SDL_SetWindowPosition positive and negative cases", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowSize = {
- (SDLTest_TestCaseFp)video_getSetWindowSize, "video_getSetWindowSize", "Checks SDL_GetWindowSize and SDL_SetWindowSize positive and negative cases", TEST_ENABLED
+ video_getSetWindowSize, "video_getSetWindowSize", "Checks SDL_GetWindowSize and SDL_SetWindowSize positive and negative cases", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowMinimumSize = {
- (SDLTest_TestCaseFp)video_getSetWindowMinimumSize, "video_getSetWindowMinimumSize", "Checks SDL_GetWindowMinimumSize and SDL_SetWindowMinimumSize positive and negative cases", TEST_ENABLED
+ video_getSetWindowMinimumSize, "video_getSetWindowMinimumSize", "Checks SDL_GetWindowMinimumSize and SDL_SetWindowMinimumSize positive and negative cases", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowMaximumSize = {
- (SDLTest_TestCaseFp)video_getSetWindowMaximumSize, "video_getSetWindowMaximumSize", "Checks SDL_GetWindowMaximumSize and SDL_SetWindowMaximumSize positive and negative cases", TEST_ENABLED
+ video_getSetWindowMaximumSize, "video_getSetWindowMaximumSize", "Checks SDL_GetWindowMaximumSize and SDL_SetWindowMaximumSize positive and negative cases", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowData = {
- (SDLTest_TestCaseFp)video_getSetWindowData, "video_getSetWindowData", "Checks SDL_SetWindowData and SDL_GetWindowData positive and negative cases", TEST_ENABLED
+ video_getSetWindowData, "video_getSetWindowData", "Checks SDL_SetWindowData and SDL_GetWindowData positive and negative cases", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestSetWindowCenteredOnDisplay = {
- (SDLTest_TestCaseFp)video_setWindowCenteredOnDisplay, "video_setWindowCenteredOnDisplay", "Checks using SDL_WINDOWPOS_CENTERED_DISPLAY centers the window on a display", TEST_ENABLED
+ video_setWindowCenteredOnDisplay, "video_setWindowCenteredOnDisplay", "Checks using SDL_WINDOWPOS_CENTERED_DISPLAY centers the window on a display", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetSetWindowState = {
- (SDLTest_TestCaseFp)video_getSetWindowState, "video_getSetWindowState", "Checks transitioning between windowed, minimized, maximized, and fullscreen states", TEST_ENABLED
+ video_getSetWindowState, "video_getSetWindowState", "Checks transitioning between windowed, minimized, maximized, and fullscreen states", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestCreateMinimized = {
- (SDLTest_TestCaseFp)video_createMinimized, "video_createMinimized", "Checks window state for windows created minimized", TEST_ENABLED
+ video_createMinimized, "video_createMinimized", "Checks window state for windows created minimized", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestCreateMaximized = {
- (SDLTest_TestCaseFp)video_createMaximized, "video_createMaximized", "Checks window state for windows created maximized", TEST_ENABLED
+ video_createMaximized, "video_createMaximized", "Checks window state for windows created maximized", TEST_ENABLED
};
static const SDLTest_TestCaseReference videoTestGetWindowSurface = {
- (SDLTest_TestCaseFp)video_getWindowSurface, "video_getWindowSurface", "Checks window surface functionality", TEST_ENABLED
+ video_getWindowSurface, "video_getWindowSurface", "Checks window surface functionality", TEST_ENABLED
};
/* Sequence of Video test cases */