test


Log

Author Commit Date CI Message
Ozkan Sezer bcccbbd8 2022-12-05T00:35:32 tests: avoid redefinition warnings for MSVC _CRT_???_NO_DEPRECATE macros
Pierre Wendling d0bbfdbf 2022-12-01T16:07:03 Clang-Tidy fixes (#6725) (cherry picked from commit 3c501b963dd8f0605a6ce7978882df39ba76f9cd)
Sam Lantinga b8d85c69 2022-11-30T12:51:59 Update for SDL3 coding style (#6717) I updated .clang-format and ran clang-format 14 over the src and test directories to standardize the code base. In general I let clang-format have it's way, and added markup to prevent formatting of code that would break or be completely unreadable if formatted. The script I ran for the src directory is added as build-scripts/clang-format-src.sh This fixes: #6592 #6593 #6594 (cherry picked from commit 5750bcb174300011b91d1de20edb288fcca70f8c)
Sylvain Becker fb0ce375 2022-11-27T17:38:43 Cleanup add brace (#6545) * Add braces after if conditions * More add braces after if conditions * Add braces after while() conditions * Fix compilation because of macro being modified * Add braces to for loop * Add braces after if/goto * Move comments up * Remove extra () in the 'return ...;' statements * More remove extra () in the 'return ...;' statements * More remove extra () in the 'return ...;' statements after merge * Fix inconsistent patterns are xxx == NULL vs !xxx * More "{}" for "if() break;" and "if() continue;" * More "{}" after if() short statement * More "{}" after "if () return;" statement * More fix inconsistent patterns are xxx == NULL vs !xxx * Revert some modificaion on SDL_RLEaccel.c * SDL_RLEaccel: no short statement * Cleanup 'if' where the bracket is in a new line * Cleanup 'while' where the bracket is in a new line * Cleanup 'for' where the bracket is in a new line * Cleanup 'else' where the bracket is in a new line (cherry picked from commit 6a2200823c66e53bd3cda4a25f0206b834392652 to reduce conflicts merging between SDL2 and SDL3)
Sylvain 3e70553c 2022-11-18T11:06:49 Unneed test before calling SDL_FreeSurface
Sylvain 71f2864b 2022-11-17T14:55:49 Fix usage of sizeof() in test/testgles*.c files
Sylvain ddad901c 2022-11-17T10:43:45 Remove unneeded semicolon
Sylvain b7358e47 2022-11-17T09:18:49 Don't compare pointer against '0', but NULL
Sylvain 4192d1a1 2022-11-16T21:56:19 Fix compilation. It needs to be casted to 'int' type
Sylvain ce5da5d5 2022-11-16T21:47:43 Don't compare pointer against '0', but NULL
Anonymous Maarten 55534e27 2022-11-01T15:39:13 cmake: add time out to tests to avoid ci timeouts
Anonymous Maarten a22fcf77 2022-11-01T13:40:19 cmake: older emscripten releases have a broken FindOpenGL.cmake This is fixed since 3.1.10: https://github.com/emscripten-core/emscripten/commit/485a7b4d6f84d4bc3b594ff81d39b6b143c8d598#diff-034f4d123f23ec5493d0fbf28cba1c36e404a991f286c8d031a22799e4e8b0e5
Anonymous Maarten d8884b84 2022-11-01T13:10:46 emscripten: fix warnings in tests
Anonymous Maarten a71e558d 2022-11-01T13:09:52 cmake: testshader needs -sLEGACY_GL_EMULATION on Emscripten
Anonymous Maarten cfa76973 2022-11-01T11:33:39 cmake: FindOpenGL.cmake shipped by emscripten does not have OpenGL::GL
Anonymous Maarten 76e3cf38 2022-11-01T11:04:45 cmake: use custom add_sdl_test_executable macro to add test
Pierre Wendling d080e3bf 2022-11-14T17:56:48 Silence `-Wmaybe-uninitialized` warnings in tests.
Sam Lantinga 0dfc829a 2022-11-10T19:16:53 Added simple BLE Steam Controller support on all platforms This is still disabled by default via the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM
Ozkan Sezer db01016d 2022-11-07T21:15:30 revert replace AM_PATH_SDL2 usage with corresponding PKG_CHECK_MODULES. Reference issue: https://github.com/libsdl-org/SDL/issues/6494 .
Ozkan Sezer 64c93f78 2022-11-06T23:51:04 replace AM_PATH_SDL2 usage with corresponding PKG_CHECK_MODULES.
Sam Lantinga da478d1f 2022-10-25T10:30:56 Fixed build
Simon McVittie 2dc788cb 2022-10-20T19:54:24 build: Expand version info in SDL_REVISION and SDL_GetRevision() Instead of using a URL and git sha1, this uses `git describe` to describe the version relative to the nearest previous git tag, which gives a better indication of whether this is a release, a prerelease, a slightly patched prerelease, or a long way after the last release during active development. This serves two purposes: it makes those APIs more informative, and it also puts this information into the binary in a form that is easy to screen-scrape using strings(1). For instance, if the bundled version of SDL in a game has this, we can see at a glance what version it is. It's also shorter than using the web address of the origin git repository and the full git commit sha1. Also write the computed version into a file ./VERSION in `make dist` tarballs, so that when we build from a tarball on a system that doesn't have git available, we still get the version details. For the Perforce code path in showrev.sh, output the version number followed by the Perforce revision, in a format reminiscent of `git describe` (with p instead of g to indicate Perforce). For the code path with no VCS available at all, put a suffix on the version number to indicate that this is just a guess (we can't know whether this SDL version is actually a git snapshot or has been patched locally or similar). Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Brad Smith f4e3af15 2022-10-17T07:23:40 Simplify OSS test by removing OpenBSD specific location of the soundcard.h header OpenBSD has long since stopped using OSS. Remove checking for OpenBSD specific header.
Simon McVittie 7d230af5 2022-10-12T12:41:30 testevdev: Explain why the test data is encoded the way it is Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 81dee319 2022-10-12T12:36:41 testevdev: Add a static assertion for supported sizeof(long) If this assertion fails on some platform (unlikely), we will need a third implementation for SwapLongLE(). Signed-off-by: Simon McVittie <smcv@collabora.com>
Helge Deller fb32effd 2022-10-09T12:13:23 testevdev: Fix detection of word size The check for whether to use a 32- or 64-bit swap for an array of long values always took the 64-bit path, because <limits.h> wasn't included and therefore ULONG_MAX wasn't defined. Turn this into a runtime check, which a reasonable compiler will optimize into a constant. This fixes testevdev failures on 32-bit big-endian platforms such as hppa and older powerpc. Little-endian and/or 64-bit platforms are unaffected. [smcv: Added commit message] Bug-Debian: https://bugs.debian.org/1021310 Co-authored-by: Simon McVittie <smcv@collabora.com>
Pierre Wendling c1317175 2022-10-10T22:02:17 PSP: Fix `Wformat` warnings.
Pierre Wendling 6784d84c 2022-10-10T01:31:14 N3DS: Fix `-Wformat` warnings in tests. All warnings were about invalid specifiers. Since U/Sint32 is a long, using `%d` emits a -Wformat warning.
Pierre Wendling 65527537 2021-03-30T04:32:39 N3DS port (squashed) A dedicated renderer using Citro3D would likely allow for better much better graphical performances.
Cameron Gutman ec1137df 2022-10-09T15:19:47 cmake: Apply CETCOMPAT fix from ef988fe1 to tests
Ozkan Sezer d0220395 2022-10-09T12:01:02 testhaptic: fix watcom "&array may not produce intended result" warning
Anonymous Maarten b8a4b8d1 2022-10-06T02:51:50 testautomation_mouse: fix format '%i' expecting 'int' instead of 'Uint32' Emitted by Nintendo 3DS's gcc
Anonymous Maarten 7ae5d8d4 2022-10-06T01:15:49 testmessage: fix conversion from `intptr_t` to `Uint32` Emitted by MSVC
Anonymous Maarten 02b200ef 2022-10-06T01:14:28 testoffscreen: fix '<': signed/unsigned mismatch Emitted by MSVC
Anonymous Maarten 7a7980fa 2022-10-06T01:12:42 testnative: fix conversion from `time_t` to `unsigned int` Emitted by MSVC
Anonymous Maarten 87706895 2022-10-06T01:12:18 testmouse: add explicit int-cast to avoid warning about converting `float` to `int` Emitted by MSVC
Anonymous Maarten 3c251ec4 2022-10-06T01:10:22 testintersections: fix conversion from `time_t` to `unsigned int` Emitted by MSVC
Anonymous Maarten b771d9be 2022-10-06T01:09:32 tests: avoid MSVC preaching about unsafe functions
Anonymous Maarten ebae142a 2022-10-06T01:05:59 testhaptic: fix conversion from `size_t` to `int` Emitted by MSVC
Anonymous Maarten 18c776e1 2022-10-06T01:02:17 testspriteminimal: fix conversion from `time_t` to `unsigned int` Emitted by MSVC
Anonymous Maarten f3389f13 2022-10-06T01:00:58 testgeometry: fix conversion from 'double' to 'float', possible loss of data emitted by MSVC
Anonymous Maarten 45da1339 2022-10-06T00:39:47 cmake: don't error on apple when using deprecated declarations
Anonymous Maarten 274ec025 2022-10-06T00:31:00 testautomation: avoid format related warnings by using a few pragma's ci: enable -Werror to a few platforms
Anonymous Maarten d04fa0ef 2022-10-06T00:30:11 controllermap: use enum to avoid '-Wmaybe-uninitialized' Emitted by MinGW: In function 'WatchJoystick', inlined from 'SDL_main' at D:/a/SDL/SDL/test/controllermap.c:802:9: D:/a/SDL/SDL/test/controllermap.c:437:9: warning: 'marker' may be used uninitialized [-Wmaybe-uninitialized] 437 | SDL_SetTextureAlphaMod(marker, alpha); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:/a/SDL/SDL/test/controllermap.c: In function 'SDL_main': D:/a/SDL/SDL/test/controllermap.c:355:71: note: 'marker' was declared here 355 | SDL_Texture *background_front, *background_back, *button, *axis, *marker;
Anonymous Maarten a905db9d 2022-10-05T23:59:01 testcustomcursor: fix Wswitch warning by casting the arg to an int
Anonymous Maarten bb527678 2022-10-05T23:56:27 testgamecontroller: fix -Wshadow warning by renaming global axis+button textures
Anonymous Maarten 57c88655 2022-10-05T23:55:59 automation_main.c: fix -Wformat-zero-length warning due to SDL_SetError("")
Anonymous Maarten be5f55c4 2022-10-07T00:17:25 watcom: add ENABLE_WERROR option to makefiles
Anonymous Maarten 335c6724 2022-10-06T19:17:18 autotools: add --enable-werror option
Sam Lantinga 64ea6cef 2022-10-02T17:17:31 SDL_ResetHint() no longer clears the callbacks associated with a hint Also added SDL_ResetHints() to reset all callbacks, and clarified that SDL_ClearHints() is just used for cleanup at shutdown. Fixes https://github.com/libsdl-org/SDL/issues/6313
Sam Lantinga 19ecb64e 2022-10-02T10:18:57 Fixed build
Sam Lantinga a00565b8 2022-10-02T09:08:39 Fixed displaying more than 18 buttons
Ethan Lee 0d6c4ff6 2022-09-29T11:36:07 testaudioinfo: Initialize deviceName unconditionally
Ethan Lee 1ea1a90e 2022-09-29T10:41:40 testaudioinfo: Also test SDL_GetAudioDeviceSpec
Jarod Hillman 40893821 2022-09-29T10:33:07 coreaudio: Add support for SDL_GetDefaultAudioInfo (#6277) Co-authored-by: Ethan Lee <flibitijibibo@gmail.com> Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
Ryan C. Gordon d843d61c 2022-09-28T09:09:21 Moved test/versioning.sh to build-scripts/test-versioning.sh Reference Issue #6171.
Sam Lantinga 2c518747 2022-09-27T09:56:02 Added microsecond timestamp to sensor values for PS4 and PS5 controllers using the HIDAPI driver
Cameron Cawley 3a6b7c9c 2022-09-24T16:55:10 testiconv: Print the total number of errors at the end
Sam Lantinga 7312b93d 2022-09-22T22:50:28 Fixed crash if a game controller is disconnected while the connect message is in flight
Sam Lantinga c70ffc2a 2022-09-19T15:34:17 Added size_t format specifier test coverage for SDL_snprintf and SDL_sscanf
Ozkan Sezer c8332948 2022-09-18T17:33:04 tests, watcom: silence lots of W202 warnings from new vulkan headers.
Cameron Cawley dd51787e 2022-09-08T15:53:25 Fix SDL_PIXELFORMAT_INDEX1LSB test case
DS ac5b9bc4 2022-09-14T18:28:35 Add support for X11 primary selection (#6132) X11 has a so-called primary selection, which you can use by marking text and middle-clicking elsewhere to copy the marked text. There are 3 new API functions in `SDL_clipboard.h`, which work exactly like their clipboard equivalents. ## Test Instructions * Run the tests (just a copy of the clipboard tests): `$ ./test/testautomation --filter Clipboard` * Build and run this small application: <details> ```C #include <SDL.h> #include <unistd.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <time.h> void print_error(const char *where) { const char *errstr = SDL_GetError(); if (errstr == NULL || errstr[0] == '\0') return; fprintf(stderr, "SDL Error after '%s': %s\n", where, errstr); SDL_ClearError(); } int main() { char text_buf[256]; srand(time(NULL)); SDL_Init(SDL_INIT_VIDEO); print_error("SDL_INIT()"); SDL_Window *window = SDL_CreateWindow("Primary Selection Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 400, 400, SDL_WINDOW_SHOWN); print_error("SDL_CreateWindow()"); SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); print_error("SDL_CreateRenderer()"); bool quit = false; unsigned int do_render = 0; while (!quit) { SDL_Event event; while (SDL_PollEvent(&event)) { print_error("SDL_PollEvent()"); switch (event.type) { case SDL_QUIT: { quit = true; break; } case SDL_KEYDOWN: { switch (event.key.keysym.sym) { case SDLK_ESCAPE: case SDLK_q: quit = true; break; case SDLK_c: snprintf(text_buf, sizeof(text_buf), "foo%d", rand()); SDL_SetClipboardText(text_buf); print_error("SDL_SetClipboardText()"); printf("clipboard: set_to=\"%s\"\n", text_buf); break; case SDLK_v: { printf("clipboard: has=%d, ", SDL_HasClipboardText()); print_error("SDL_HasClipboardText()"); char *text = SDL_GetClipboardText(); print_error("SDL_GetClipboardText()"); printf("text=\"%s\"\n", text); SDL_free(text); break; } case SDLK_d: snprintf(text_buf, sizeof(text_buf), "bar%d", rand()); SDL_SetPrimarySelectionText(text_buf); print_error("SDL_SetPrimarySelectionText()"); printf("primselec: set_to=\"%s\"\n", text_buf); break; case SDLK_f: { printf("primselec: has=%d, ", SDL_HasPrimarySelectionText()); print_error("SDL_HasPrimarySelectionText()"); char *text = SDL_GetPrimarySelectionText(); print_error("SDL_GetPrimarySelectionText()"); printf("text=\"%s\"\n", text); SDL_free(text); break; } default: break; } break; } default: { break; }} } // create less noise with WAYLAND_DEBUG=1 if (do_render == 0) { SDL_RenderPresent(renderer); print_error("SDL_RenderPresent()"); } do_render += 1; usleep(12000); } SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); print_error("quit"); return 0; } ``` </details> * Use c,v,d,f to get and set the clipboard and primary selection. * Mark text and middle-click also in other applications. * For wayland under x: * `$ mutter --wayland --no-x11 --nested` * `$ XDG_SESSION_TYPE=wayland SDL_VIDEODRIVER=wayland ./<path_to_test_appl_binary>`
Sam Lantinga a7fde3f8 2022-09-07T01:58:42 Allow mapping a controller other than the first one
Sam Lantinga 4018f35e 2022-09-07T00:00:27 Added left and right sensors for Nintendo Joy-Con and Wii controllers
Ozkan Sezer 911524da 2022-09-06T03:15:02 fix DYLIB version inconsistencies and test failures after #6188.
Sam Lantinga acf397b4 2022-09-05T11:21:13 Actually, DYLIB_COMPATIBILITY_VERSION shouldn't be updated for a stable point release @smcv
Cameron Cawley cf040f88 2022-09-05T16:27:25 testmouse: Allow drawing rectangles as well as lines
Cameron Cawley a9325817 2022-09-05T16:37:34 testplatform: Add LSX and LASX checks
Sam Lantinga 4e98ba61 2022-09-05T08:28:06 Set DYLIB_COMPATIBILITY_VERSION to DYLIB_CURRENT_VERSION to match autotools Autotools sets both versions to the same value, so Xcode and CMake need to match for the libraries to be compatible between the different builds. See these for details: https://github.com/libsdl-org/sdl12-compat/pull/207 https://github.com/libsdl-org/SDL/issues/2934 https://stackoverflow.com/questions/67055770/usage-of-current-version-and-compatibility-version-on-macos
Érico Porto cbc0d9fa 2022-09-03T21:22:26 test/versioning.sh also tests configure
Sam Lantinga 6bcf2c15 2022-09-02T15:06:49 Fixed spinning at a very high framerate
Sam Lantinga 3cbfd75d 2022-08-27T18:55:55 Re-added the CRC to the joystick guid This is now used as a crc field in the mapping rather than directly in mapping guids, for better mapping compatibility between versions of SDL. Added SDL_GetJoystickGUIDInfo() to get device information encoded in a joystick GUID, so that mapping programs can clear the CRC from the GUID when generating mappings. sort_controllers.py has been updated to extract the CRC from mappings created by older mapping programs and convert it into the new crc field. It will also take the CRC into account when checking for duplicate mappings. Also regenerated the GUIDs for the PS2/PSP/Vita controller mappings, fixing https://github.com/libsdl-org/SDL/issues/6151
Cameron Gutman 2ceea460 2022-08-21T14:15:06 cmake: Enable CET compatibility for x86/x64 targets using VS 16.7+
Cameron Gutman 99e9156f 2022-08-16T19:50:59 testgles2: Fix typo in help text
Cameron Gutman 222f1a26 2022-08-15T22:51:15 testgles2: Add --threaded option to use a render thread per window This is helpful for reproducing bugs like #6056
Sam Lantinga aaec244c 2022-08-10T09:04:17 Don't run the stdio automated tests if libc isn't available
Sam Lantinga d4192850 2022-08-10T07:59:12 Added SDL_ResetHint() to reset a hint to the default value Resolves question of how to clear an override hint raised by @pionere in https://github.com/libsdl-org/SDL/pull/5309
Pierre Wendling 73d8d026 2022-08-09T22:36:59 Test: Fix Exp base case for Win32. Add epsilon to the check.
Ryan C. Gordon 3a9295e1 2022-08-09T16:02:16 build-scripts: Removed winrtbuild.*, no longer used. WinRT/UWP is still supported, but you have to use the VS2019 project files, now. Fixes #5639.
Sam Lantinga 87825972 2022-08-08T08:22:20 Added SDL_GameControllerType enumeration for Nintendo Switch Joy-Con controllers
Francisco Javier Trujillo Mata 46f95a7a 2022-06-24T00:20:11 Create dummy PS2 Video driver
Sam Lantinga 2fa2f9ff 2022-07-28T19:22:27 Greatly improved Nintendo Joy-Con support using the HIDAPI driver * Added support for mini-gamepad mode for Joy-Con controllers, matching the mapping for hid-nintendo on Linux and iOS 16 * Added the ability to merge left and right Joy-Con controllers into a single Pro-style controller * Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_COMBINE_JOY_CONS to control this merging functionality * Removed the hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
Cameron Gutman b8a55407 2022-07-24T15:19:02 testgamecontroller: Add battery reporting
Anonymous Maarten ac9e8691 2022-07-21T14:49:35 cmake: only build testnative when X11 is available
Sam Lantinga 7e2a9969 2022-07-13T08:57:40 Added a virtual joystick automated test Useful to verify https://github.com/libsdl-org/SDL/commit/4fa2653394150140c4d69cf66a78cd83e1175f99 on a big-endian system
Francisco Javier Trujillo Mata 643f9e56 2022-07-03T16:20:26 Rename folder created in test_filesystem
Cameron Cawley 0a600b1d 2022-07-02T00:27:51 Merge testguid into testautomation (#5873)
Cameron Cawley 0025621b 2022-07-01T19:59:06 Add a default URL in testurl
Sam Lantinga 391dd0d9 2022-07-01T13:35:41 Don't spin as quickly as possible in the checkkeys rendering loop
Sam Lantinga e9d5060c 2022-07-01T12:56:47 checkkeys will now render text that is input Also added test functions for multi-line debug text display Currently this only supports ASCII, as the font doesn't have the correct Latin-1 characters
Sam Lantinga 24251fb5 2022-06-29T17:40:45 Fixed checkkeys closing when tapping the screen on a phone
Sam Lantinga cbd01874 2022-06-27T16:59:50 Removed the limit on the size of the SDL error message Also added SDL_GetOriginalMemoryFunctions() Fixes https://github.com/libsdl-org/SDL/issues/5795
chalonverse 3b191580 2022-06-27T17:19:39 Windows GDK Support (#5830) * Added GDK * Simplfied checks in SDL_config_wingdk.h * Added testgdk sample * Added GDK readme * Fixed error in merge of SDL_windows.h * Additional GDK fixes * OpenWatcom should not export _SDL_GDKGetTaskQueue * Formatting fixes * Moved initialization code into SDL_GDKRunApp
Francisco Javier Trujillo Mata 84d69da4 2022-03-20T19:42:06 Initial SDL_ps2_main implementation
Anonymous Maarten 965c1645 2022-06-16T03:40:53 cmake: let cmake test script make use of the installed cmake scripts
Anonymous Maarten 3e102123 2022-06-20T20:51:12 cmake: also add the recently-added include folder to the public interface
Sam Lantinga 90658975 2022-06-18T06:53:05 Added test for digit count in sscanf, e.g. "%1x"
Sam Lantinga 28ecdc6b 2022-06-18T06:52:46 No need to cast from char* to const char*
Sam Lantinga 5d5488ca 2022-06-16T12:41:31 Fixed test/versioning.sh on macOS