src/test


Log

Author Commit Date CI Message
Ozkan Sezer c7aa04d0 2021-11-14T02:31:20 SDL_test_harness.c: avoid -Wwrite-strings
Sam Lantinga c2dd50a9 2021-11-12T08:28:02 Fixed whitespace
Sam Lantinga d5032582 2021-11-10T09:45:56 Use consistent language between SDLTest_AssertPass() and SDLTest_AssertCheck()
Eric Wasylishen 0d987936 2021-11-09T22:03:42 testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936) * SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize * testwm2: fix video modes menu hit detection in High DPI cases - also when logical size is specified, e.g. `--logical 640x480 --resizable --allow-highdpi` * add function to determine logical coordinates of renderer point when given window point * change since to the targeted milestone * fix typo * rename for consistency * Change logical coordinate type to float, since we can render with floating point precision. * add function to convert logical to window coordinates * testwm2: use new SDL_RenderWindowToLogical * SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow Co-authored-by: John Blat <johnblat64@protonmail.com> Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com>
Ethan Lee 4b42c05b 2021-11-08T13:52:48 video: Add SDL_SetWindowMouseRect. This API and implementation comes from the Unreal Engine branch of SDL, which originally called this "SDL_ConfineCursor". Some minor cleanup and changes for consistency with the rest of SDL_video, but there are two major changes: 1. The coordinate system has been changed so that `rect` is _window_ relative and not _screen_ relative, making it easier to implement without having global access to the display. 2. The UE version unset all rects when passing `NULL` as a parameter for `window`, this has been removed as it was an unused feature anyhow. Currently this is only implemented for X, but can be supported on Wayland and Windows at minimum too.
Eric Wasylishen 2008f2a8 2021-11-07T01:41:34 SDL_test_font.c: fix type of SDLTest_CharTextureCacheList
Eric Wasylishen a0e055a7 2021-11-07T02:48:29 testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode
Eric Wasylishen 70f7ebe6 2021-11-07T01:46:04 SDL_test_font.c: add ability to draw on different SDL_Renderers fixes `testwm2 --windows 2`
David Gow c57bcb47 2021-10-23T14:46:03 test: Fix building with libunwind under autotools There are two issues which are stopping the SDL tests from building on my machine: - libunwind is not being linked - Even if it is, it is missing several symbols. The first is fixed by having the test programs link against libunwind if available. Technically, SDL2_test should be linking against it, as it's used in SDL_test_memory.c, but as SDL2_test is a static library, it can't itself import libunwind. We just assume that if it's present on the system, we should link it directly to the test programs. This should strictly be an improvement, as the only case where this'd fail is if SDL2 was compiled when libunwind was present, but the tests are being compiled without it, and that'd fail anyway. The second is fixed by #define-ing UNW_LOCAL_ONLY before including libunwind.h: this is required to make libunwind link to predicatable symbols, in what can only be described as a bit of a farce. There are a few more details in the libunwind man page, but the gist of it is that it disables support for "remote unwinding": unwinding stack frames in a different process (and possibly from a different architecture?): http://www.nongnu.org/libunwind/man/libunwind(3).html Note that I haven't tried this with CMake: I suspect that it'll work, though, as the CMakeLists.txt seems to have SDL2 link against libunwind if it's present. This adds an ugly extra dependency to SDL2, but does mean that issue 1 isn't present. The UNW_LOCAL_ONLY change shouldn't be build-system-specific.
Sam Lantinga b5e5c1ef 2021-08-13T17:53:39 Added Ctrl-T to toggle topmost mode in test programs
Sam Lantinga f1633127 2021-07-24T13:41:55 Added a window flash operation to be explicit about window flash behavior
Sam Lantinga e1c3a250 2021-07-24T12:11:27 Changed SDL_FlashWindow() so it doesn't take a flash count, and added the hint SDL_HINT_WINDOW_FLASH_COUNT to control behavior on Windows
Eric Wasylishen c33e3c15 2021-06-07T18:24:57 testwm2: draw various debug logging into the window itself Renderer output size, window position/size, display bounds, etc. Uses new SDLTest_CommonDrawWindowInfo function in test_common.
Sylvain 9727655b 2021-04-26T14:22:19 SDL_test_common: add other window flags: --shown, --hidden, --input-focus, --mouse-focus
Sylvain d62ebec2 2021-04-26T14:10:39 SDL_test_common: replace 'resize' by 'resizable'
Alex Szpakowski 09231c42 2021-02-15T11:51:00 Fix flags check in test code
Jay Petacat f443a6fc 2021-02-11T02:05:02 Fix format string warnings for width-based integers The DJGPP compiler emits many warnings for conflicts between print format specifiers and argument types. To fix the warnings, I added `SDL_PRIx32` macros for use with `Sint32` and `Uint32` types. The macros alias those found in <inttypes.h> or fallback to a reasonable default. As an alternative, print arguments could be cast to plain old integers. I opted slightly for the current solution as it felt more technically correct, despite making the format strings more verbose.
Sam Lantinga ef2f13e1 2021-02-01T22:30:31 Added test command line options to force different window types
Cameron Gutman 6b057c67 2021-01-26T19:16:17 Expose separate keyboard and mouse grab support This adds SDL_SetWindowKeyboardGrab(), SDL_GetWindowKeyboardGrab(), SDL_SetWindowMouseGrab(), SDL_GetWindowMouseGrab(), and new SDL_WINDOW_KEYBOARD_GRABBED flag. It also updates the test harness to exercise this functionality and makes a minor fix to X11 that I missed in https://hg.libsdl.org/SDL/rev/02a2d609369b To fit in with this new support, SDL_WINDOW_INPUT_CAPTURE has been renamed to SDL_WINDOW_MOUSE_CAPTURE with the old name remaining as an alias for backwards compatibility with older code.
Sam Lantinga 9130f7c3 2021-01-02T10:25:38 Updated copyright for 2021
Ozkan Sezer 16389654 2020-06-14T12:05:56 fix watcom build of SDL_test_common.c
Jay Petacat c760c02c 2020-03-25T01:34:15 Fix some format specifier warnings The warnings were produced by GCC 9.2.x for x86_64-linux-gnu or i386-pc-msdosdjgpp targets. Most of the fixes involve changing the type of a variable rather than the format specifier. For many of the affected test conuter variables, a basic int seems sufficient. Some format specifier warnings still remain for cases where changing type or casting seemed inappropriate. Those warnings will probably require some new format specifier macros (e.g. SDL_PRIu32).
Ryan C. Gordon afb70f26 2020-02-12T13:09:38 test: Reimplemented SDLTest_CommonUsage() to restore binary compatibility. Fixes Bugzilla #4975.
Ryan C. Gordon 66579dbd 2020-01-30T13:47:48 test: Common framework now accepts --usable-bounds command line argument.
Ryan C. Gordon 80e7e2eb 2020-01-30T13:47:19 test: change path in a comment from '\\' to '/' char. Nothing serious here.
Sam Lantinga a8780c6a 2020-01-16T20:49:25 Updated copyright date for 2020
Cameron Cawley 20ddf45e 2019-11-02T22:58:52 Added SDL_PIXELFORMAT_BGR444
Sylvain Becker d4a67e25 2019-10-30T16:06:51 Readability: change some pointer parameter to be pointer to const
Sylvain Becker b458d7a2 2019-10-30T15:13:55 Readability: remove redundant cast to the same type
Ryan C. Gordon e9c1e126 2019-10-15T12:02:19 test: Fixed wrong verbose flag check (thanks, watcom.hecht!). Fixes Bugzilla #4826.
Ryan C. Gordon aa0a6518 2019-10-15T08:54:25 test: Fixed compiler warning on Visual Studio.
Sam Lantinga 791df27a 2019-09-09T13:50:46 Fixed compiler warning on Android
Ozkan Sezer 4953e050 2019-07-31T05:11:40 use SDL_zeroa at more places where the argument is an array.
Ryan C. Gordon b5d3b6fc 2019-05-28T17:39:13 test: unify all the command line usage logging.
Ryan C. Gordon 00e5eeb4 2019-05-19T01:45:15 test: added SDLTest_CommonDefaultArgs() This is for test apps that don't need custom command line arguments; it lets us reduce the boilerplate code a tiny bit.
Sam Lantinga 5e13087b 2019-01-04T22:01:14 Updated copyright for 2019
Sylvain Becker 252dc85e 2018-12-06T09:22:00 Fix warnings detected on Android build
Sam Lantinga b815ad56 2018-11-12T16:42:49 Fixed bug 4366 - Compile throws a warning on RPI (Raspbian Stretch) midwan When trying to compile on a Raspberry Pi 3, running Raspbian Stretch (fully updated), a warning appears: /home/pi/projects/SDL/src/test/SDL_test_memory.c: In function ?SDL_TrackAllocation?: /home/pi/projects/SDL/src/test/SDL_test_memory.c:112:109: warning: format ?%llx? expects argument of type ?long long unsigned int?, but argument 5 has type ?unw_word_t {aka unsigned int}? [-Wformat=] snprintf(entry->stack_names[stack_index], sizeof(entry->stack_names[stack_index]), "%s+0x%llx", sym, offset);
Sam Lantinga f225af0c 2018-08-22T21:48:28 Added SDL_GetDisplayOrientation() to get the display orientation, and added a new event SDL_DISPLAYEVENT to notify the application when the orientation changes. Documented the values returned by the accelerometer and gyroscope sensors
Ryan C. Gordon e061a92d 2018-08-02T16:03:47 Some drag'and'drop improvements. First: disable d'n'd events by default; most apps don't need these at all, and if an app doesn't explicitly handle these, each drop on the window will cause a memory leak if the events are enabled. This follows the guidelines we have for SDL_TEXTINPUT events already. Second: when events are enabled or disabled, signal the video layer, as it might be able to inform the OS, causing UI changes or optimizations (for example, dropping a file icon on a Cocoa app that isn't accepting drops will cause macOS to show a rejection animation instead of the drop operation just vanishing into the ether, X11 might show a different cursor when dragging onto an accepting window, etc). Third: fill in the drop event details in the test library and enable the events in testwm.c for making sure this all works as expected.
Ozkan Sezer 08de74ec 2018-06-13T14:45:02 use the 'aborts' pragma of Watcom for SDL_NORETURN functions SDL_ExitProcess(), SDL_AbortAssertion() and SDLTest_BailOut(). (Commit 303c1e0fb0cf for bug #4100 removed SDL_NORETURN from SDL_ExitProcess() and SDL_AbortAssertion() in order to avoid warnings from windows builds, but that's temporary I guess..)
Ozkan Sezer 3ea093cc 2018-02-25T10:15:00 SDL_test_fuzzer.c: fix strict aliasing warnings by using a union.
Sam Lantinga e3cc5b2c 2018-01-03T10:03:25 Updated copyright for 2018
Sam Lantinga 1c43705b 2017-12-09T13:05:56 Fixed compiler warning
Sam Lantinga cf923648 2017-10-13T09:50:04 Fixed bug 3879 - add missing SDLCALL to SDLTest_TrackedMalloc & co. Ozkan Sezer The attached trivial patch adds missing SDLCALL to SDLTest_TrackedMalloc & co.
Sam Lantinga 22b6df51 2017-10-12T14:46:28 Use the lower-case hex output to match other stack trace printouts
Sam Lantinga 70791956 2017-10-12T14:44:54 Fixed compiler warning
Sam Lantinga 5fc20176 2017-10-12T14:25:07 Fixed bug 3877 - missing SDLCALL in SDLTest_ExampleHitTestCallback Ozkan Sezer Following trivial patch adds missing SDLCALL to SDLTest_ExampleHitTestCallback()
Sam Lantinga 41a60394 2017-10-12T14:20:17 Added missing file
Sam Lantinga 9c580e14 2017-10-12T13:44:28 Added functions to query and set the SDL memory allocation functions: SDL_GetMemoryFunctions() SDL_SetMemoryFunctions() SDL_GetNumAllocations()
Sam Lantinga f4f9e39f 2017-10-12T08:41:11 Fixed bug 3874 - Compiler warnings SDL_Surface.c and SDL_cocoakeyboard.m
Sam Lantinga 0fea9164 2017-09-22T17:29:32 Added an example for SDL_SetWindowHitTest() when you create a borderless resizable window.
Sam Lantinga e8059221 2017-09-08T18:26:25 Fixed bug 3806 - Fixes for MSVC compiler warnings Simon Hug These are the remaining compiler warnings I see in the current tip cb049cae7c3c. - SDL_test_log.c defines _CRT_SECURE_NO_WARNINGS without checking if it was already set. - SDL_windowskeyboard.c converts integers to pointers without going over the (U)INT_PTR types. That bothers MSVC.
Sam Lantinga 4657d9f3 2017-09-08T04:53:31 We don't need to pass the renderer into SDLTest_CleanupTextDrawing()
Sam Lantinga 65c55fdd 2017-09-08T04:38:46 Fixed build
Sam Lantinga b0b3da77 2017-09-08T04:14:05 Added a function to clean up test text drawing
Sam Lantinga 9ca62923 2017-08-29T23:14:39 Added some missing render capability flags
Sam Lantinga c3d428d4 2017-08-29T23:12:26 Fixed line breaks in verbose test logging output
Sam Lantinga 94e0f3e9 2017-08-29T22:52:17 Added some debug messaging for previously unhandled events
Ryan C. Gordon ae667da6 2017-08-29T15:52:49 Fixed a bunch of compiler warnings.
Sam Lantinga ded5b3a4 2017-08-27T21:05:18 Fixed crash at shutdown if the window couldn't be created
Ryan C. Gordon 25e3a1ec 2017-08-27T22:15:57 vulkan: Initial Vulkan support! This work was done by Jacob Lifshay and Mark Callow; I'm just merging it into revision control.
Sam Lantinga b2e2bcc2 2017-08-12T20:21:34 Added test debug logs for additional event types
Sam Lantinga 3c852360 2017-08-11T10:42:26 Fixed bug 3646 - SDL_test_common.c: Add key bindings for testing SDL_SetWindowPosition Eric Wasylishen Alt-Up/Down/Left/Right switches between displays using SDL_WINDOWPOS_CENTERED_DISPLAY Shift-Up/Down/Left/Right shifts the window by 100px
Ryan C. Gordon cff9e5a8 2017-05-18T16:29:10 test: info now reports usable display bounds and DPI (thanks, Eric!). Fixes Bugzilla #3652.
Philipp Wiesemann 33ff5bd1 2017-02-03T23:30:29 Fixed typo in log message.
Sam Lantinga 800a72eb 2017-01-31T10:19:56 Switch stderr output to SDL_Log() so it shows up on Windows and mobile devices
Sam Lantinga 45b774e3 2017-01-01T18:33:28 Updated copyright for 2017
Ryan C. Gordon 232ae688 2016-11-23T17:20:28 Still more compiler warning fixes for various platforms.
Ryan C. Gordon 40c2a6fb 2016-11-23T11:49:26 Fixed more compiler warnings.
Sam Lantinga eaca3958 2016-11-20T21:24:09 Fixed bug 3494 - SDL_test_fuzzer.c fails compile since r10604 Ozkan Sezer As of hg rev. 10604 (http://hg.libsdl.org/SDL/rev/4fe01fd25855), SDL_test_fuzzer.c fails to build again
Sam Lantinga 818d1d3e 2016-11-15T01:30:08 Fixed bug 1646 - Warnings from clang with -Weverything
Sam Lantinga c1e292fc 2016-11-13T23:09:42 Fixed build error with missing function prototype in the SDL_test_harness.h header
Sam Lantinga 57d01d7d 2016-11-13T22:57:41 Patch from Sylvain to fix clang warnings
Sam Lantinga 74e1dd4c 2016-11-11T13:14:00 Define _GNU_SOURCE when building SDL
Sam Lantinga 9dfe5400 2016-10-01T10:38:15 We should be using a string constant for the strftime format string
Bastien Nocera 7edd2261 2016-10-01T10:36:24 Fix "format not a string literal" errors With GCC 6.1. https://bugzilla.libsdl.org/show_bug.cgi?id=3375
Sam Lantinga f1e0b9af 2016-09-29T16:10:08 Added debug output for new window events
Philipp Wiesemann f4d33fcb 2016-06-25T19:40:44 Fixed compile warnings in test library about formats strings not being literals. Partially fixes Bugzilla #3375.
Philipp Wiesemann 1d1ba58f 2016-01-06T22:39:29 Fixed compile warnings about uninitialized variables in test library. Found by buildbot.
Ryan C. Gordon 3bdaf4c6 2016-01-05T02:46:10 Added SDL_SetWindowOpacity() and SDL_GetWindowOpacity(). This is currently implemented for X11, Cocoa, Windows, and DirectFB. This patch is based on work in Unreal Engine 4's fork of SDL, compliments of Epic Games.
Sam Lantinga 68a32728 2016-01-02T10:38:51 Fixed sed error on Mac OS X and updated copyright on a few last files
Sam Lantinga 42065e78 2016-01-02T10:10:34 Updated copyright to 2016
Philipp Wiesemann 4679195d 2015-07-06T21:02:20 Fixed memory leak in test harness. Found by Cppcheck.
Philipp Wiesemann 0e45984f 2015-06-21T17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
Ryan C. Gordon 2e2b84fb 2015-05-26T16:31:11 Some setups need _GNU_SOURCE to make LLONG_MAX available (thanks, Ozkan!). Fixes Bugzilla #2721.
Sam Lantinga 2c4a6ea0 2015-05-26T06:27:46 Updated the copyright year to 2015
Ryan C. Gordon b72938c8 2015-04-20T12:22:44 Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
Alex Szpakowski fe6c797c 2015-04-10T23:30:31 Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
Ryan C. Gordon 73feb8c0 2015-03-18T00:56:33 Fixed a compiler warning.
Edward Rudd b88ca1b4 2015-02-10T16:28:56 the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here. Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture. More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
Philipp Wiesemann b48e54aa 2015-01-26T22:00:29 Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
Ryan C. Gordon 16f3cbfc 2014-12-26T23:16:54 Cleaned up some compiler warnings.
Edward Rudd 73daadb7 2014-12-03T12:23:17 switch to use SDL_PRI* macros for long long formatting everywhere.
Edward Rudd 7810d198 2014-12-03T11:04:07 fix incorrect struct member name in test code for wheel direction
David Ludwig 70438be2 2014-12-03T10:55:23 WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!
Andreas Schiffler 52760dcd 2014-11-30T20:55:27 Fix assert format strings/parameters in testautomation modules; improve output of SDL_CompareSurfaces to aid debugging; update platform_testSetErrorInvalidInput for SDL changes
Edward Rudd bd4dd2b5 2014-11-23T21:10:55 update logging of events in test core - log unknown as HEX instead of int (makes it easier to identify) - add dollar gesture and multi gesture events - add scroll reverse for mouse wheel
Philipp Wiesemann 9c398852 2014-11-22T22:20:40 Corrected header file documentation comment.
Pierre-Loup A. Griffais 24c86b55 2014-09-11T19:24:42 [X11] Reconcile logical keyboard state with physical state on FocusIn since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam