SDL/test
Sam Lantinga 4f55271571 Removed temporary memory from the API
It was intended to make the API easier to use, but various automatic garbage collection all had flaws, and making the application periodically clean up temporary memory added cognitive load to using the API, and in many cases was it was difficult to restructure threaded code to handle this.

So, we're largely going back to the original system, where the API returns allocated results and you free them.

In addition, to solve the problems we originally wanted temporary memory for:
* Short strings with a finite count, like device names, get stored in a per-thread string pool.
* Events continue to use temporary memory internally, which is cleaned up on the next event processing cycle.
2024-07-26 20:59:14 -07:00
..
android android+test: testcamera needs CAMERA permissions 2024-05-16 16:43:53 +02:00
emscripten Disable cache in python http server 2023-08-14 03:50:06 +02:00
n3ds N3DS port (squashed) 2022-10-10 08:50:59 -07:00
uwp cmake: build tests for UWP 2023-08-12 17:37:52 +02:00
win32 sdlprocdump: remove dead code 2024-07-12 18:38:03 +02:00
audiofile.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
checkkeys.c SDL_SetTextInputRect() has been renamed to SDL_SetTextInputArea() 2024-06-28 17:09:22 -07:00
CMakeLists.txt test: Add testspritesurface 2024-07-11 08:11:29 -07:00
COPYING Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
gamepad_axis_arrow.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_axis_arrow.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_axis.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_axis.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_back.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_back.h Reduced the size of the gamepad front and back images 2023-07-11 10:20:08 -07:00
gamepad_battery_unknown.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery_unknown.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery_wired.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery_wired.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery.bmp Separate joystick power state into battery status and percentage 2024-04-01 13:59:00 -07:00
gamepad_battery.h Fixed crashes when a window has NULL driverdata 2024-04-15 10:15:10 -07:00
gamepad_button_background.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_button_background.h Added button background 2023-07-11 10:26:22 -07:00
gamepad_button_small.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_button_small.h Added joystick and gamepad element display in testgamepad 2023-07-10 17:06:42 -07:00
gamepad_button.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_button.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_face_abxy.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_abxy.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_bayx.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_bayx.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_sony.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_sony.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_front.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_front.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_touchpad.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_touchpad.h Added touchpad visualization for testgamepad 2023-07-10 11:36:32 -07:00
gamepadutils.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
gamepadutils.h Use floating point values for viewport, clip rectangle, and texture sizes 2024-06-12 10:18:39 -07:00
glass.bmp Re-added a simplified version of SDL_SetWindowShape() 2024-02-09 16:04:46 -08:00
glass.h Re-added a simplified version of SDL_SetWindowShape() 2024-02-09 16:04:46 -08:00
icon.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
icon.h testspriteminimal: make standalone by embedding icon.bmp 2023-09-19 17:58:25 +02:00
logaudiodev.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
loopwave.c audio: Separate channel maps out of SDL_AudioSpec. 2024-07-10 15:43:57 -04:00
main.cpp Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08:00
moose.dat Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
physaudiodev.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
picture.xbm Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
pretest.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
README rwops: Changed filenames that reference "rwops" to "iostream". 2024-03-14 23:30:59 -04:00
relative_mode.markdown SDL_CreateWindow() has been simplified and no longer takes a window position. 2023-03-06 09:50:12 -08:00
sample.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
sample.wav Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
soundboard_levels.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
soundboard.bmp testaudio: Fixed soundboard icon, which had a colorkey issue. 2023-08-03 21:35:38 -04:00
speaker.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
template.test.in test/template.test.in: Pass SDL_NONINTERACTIVE_ARGUMENTS to installed-tests 2023-04-12 15:04:11 +00:00
testatomic.c Renamed SDL_PostSemaphore() to SDL_SignalSemphore() 2024-07-24 13:37:40 -07:00
testaudio-art.txt test: Added testaudio 2023-08-02 15:02:32 -04:00
testaudio.c testaudio: use SDL_APP_FAILURE macro to signal failure 2024-07-13 17:06:54 +02:00
testaudiohotplug.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testaudioinfo.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testaudiorecording.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testaudiostreamdynamicresample.c Fix warning for Android NDK compiler: "function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]" 2024-07-17 14:09:11 -07:00
testautomation_audio.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation_blit.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testautomation_clipboard.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation_events.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation_guid.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation_hints.c Remove legacy SDL2 input grab API 2024-03-24 16:53:23 -07:00
testautomation_images.c Added SDL_BlitSurfaceTiled() 2024-07-20 18:21:19 -07:00
testautomation_images.h Added SDL_BlitSurfaceTiled() 2024-07-20 18:21:19 -07:00
testautomation_intrinsics.c cmake: build tests against installed SDL prefix 2024-03-23 21:41:20 +01:00
testautomation_iostream.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testautomation_joystick.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation_keyboard.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testautomation_log.c Fix warning for Android NDK compiler: "function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]" 2024-07-17 14:09:11 -07:00
testautomation_main.c docs: Remove Doxygen \brief tags. 2023-11-06 10:26:06 -05:00
testautomation_math.c Build with -Wfloat-conversion + fix all warnings 2024-06-03 21:33:29 +00:00
testautomation_mouse.c mouse: Move mouse button state from a Uint32 to a formal typedef. 2024-05-26 13:23:21 -04:00
testautomation_pen.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation_pixels.c Assign numeric values to pixel format enums 2024-07-14 11:02:56 -07:00
testautomation_platform.c Removed the SDL_Version structure, moved SDL version to SDL.h 2024-05-15 10:43:31 -07:00
testautomation_properties.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testautomation_rect.c Prevent potential overflow in rectangle functions 2024-07-21 13:04:11 -07:00
testautomation_render.c Added SDL_BlitSurface9Grid() and SDL_RenderTexture9Grid() 2024-07-20 18:21:19 -07:00
testautomation_sdltest.c docs: Remove Doxygen \brief tags. 2023-11-06 10:26:06 -05:00
testautomation_stdlib.c SDL_getenv() should return const 2024-07-22 13:00:39 -07:00
testautomation_subsystems.c tests: testcases accept a void pointer argument 2024-05-31 19:18:24 +02:00
testautomation_suites.h Add testautomation suite for alpha blending 2024-07-08 10:53:46 -07:00
testautomation_surface.c Added more 8-bit blit test coverage 2024-07-21 11:39:38 -07:00
testautomation_time.c time: Use a function instead of properties to retrieve the system date and time locale info 2024-05-08 15:35:04 -04:00
testautomation_timer.c Added the timerID to the SDL timer callback 2024-05-27 07:57:33 -07:00
testautomation_video.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testautomation.c Add the blit automation tests 2024-07-08 10:58:48 -07:00
testbounds.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testcamera.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testcolorspace.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testcontroller.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testcustomcursor.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testdialog.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testdisplayinfo.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testdraw.c Added SDL_BLENDMODE_BLEND_PREMULTIPLIED and SDL_BLENDMODE_ADD_PREMULTIPLIED 2024-07-15 14:12:33 -07:00
testdrawchessboard.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testdropfile.c main: Make the main callback return value symbols smaller (thanks, @Lzard!). 2024-05-27 16:03:45 -04:00
testerror.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testevdev.c testevdev: Associate HID reports for pedals with their other test data 2024-06-24 04:39:34 -07:00
testffmpeg_vulkan.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testffmpeg_vulkan.h testffmpeg_vulkan: fix -Wincompatible-pointer-types warning 2024-03-22 11:05:13 -07:00
testffmpeg.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testfile.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testfilesystem.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testgeometry.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testgl.c video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext. 2024-07-10 15:54:08 -04:00
testgles2_sdf_img_normal.bmp Add basic testgles2_sdf program to demonstrate sign distance field with opengles2 2021-01-24 00:51:24 -05:00
testgles2_sdf_img_sdf.bmp Add basic testgles2_sdf program to demonstrate sign distance field with opengles2 2021-01-24 00:51:24 -05:00
testgles2_sdf.c video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext. 2024-07-10 15:54:08 -04:00
testgles2.c Renamed SDL_PostSemaphore() to SDL_SignalSemphore() 2024-07-24 13:37:40 -07:00
testgles.c Fix warning for Android NDK compiler: "function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]" 2024-07-17 14:09:11 -07:00
testhaptic.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testhittesting.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testhotplug.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testiconv.c testiconv: Remove half-baked SDL_StepUTF8 testing code. 2024-06-27 17:36:09 -04:00
testime.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testintersections.c Added SDL_BLENDMODE_BLEND_PREMULTIPLIED and SDL_BLENDMODE_ADD_PREMULTIPLIED 2024-07-15 14:12:33 -07:00
testkeys.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testloadso.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testlocale.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testlock.c Added the timerID to the SDL timer callback 2024-05-27 07:57:33 -07:00
testmanymouse.c Added SDL_CreateSurfacePalette() 2024-07-13 14:31:28 -07:00
testmessage.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testmodal.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testmouse.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testmultiaudio.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testnative.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testnative.h testnative: include SDL_build_config.h instead of SDL_internal.h 2024-06-20 15:40:32 +02:00
testnativecocoa.m fixed typo in prev. patch. 2023-07-28 07:35:04 +03:00
testnativew32.c Make testnative (on win32) UNICODE compatible 2024-06-20 15:40:32 +02:00
testnativewayland.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testnativex11.c Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testoffscreen.c test: use SDL_HINT_(AUDIO,VIDEO)_DRIVER macro 2024-07-11 23:37:11 +02:00
testoverlay.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testpen.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testplatform.c testplatform: fix leak at exit time 2024-05-31 18:53:36 +02:00
testpopup.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testpower.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testqsort.c Updated based on feedback from @JKaniarz 2024-06-24 11:49:15 -07:00
testrelative.c mouse: Make pointer warp emulation via relative mode available to all platforms 2024-07-25 19:57:39 -04:00
testrendercopyex.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testrendertarget.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testresample.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testrumble.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testrwlock.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testscale.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testsem.c Renamed SDL_PostSemaphore() to SDL_SignalSemphore() 2024-07-24 13:37:40 -07:00
testsensor.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testshader.c Reverted 3d2e5a0b66 2024-07-17 10:27:37 -07:00
testshape.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testsprite.c Added SDL_GetRenderSafeArea() 2024-07-24 17:40:41 -07:00
testspriteminimal.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testspritesurface.c Fixed warning C4244: '=': conversion from 'float' to 'int', possible loss of data 2024-07-16 21:32:17 -07:00
teststreaming.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testsurround.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testthread.c Removed the need for SDL_CreateTLS() 2024-07-16 12:01:51 -07:00
testtime.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testtimer.c SDL_DelayNS() will attempt to sleep exactly the requested amount of time 2024-07-15 18:38:09 -07:00
testurl.c Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testutils.c filesystem: SDL_GetBasePath() now follows the SDL_GetStringRule. 2024-07-16 16:44:36 -04:00
testutils.h Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testver.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testviewport.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testvulkan.c Fixed testvulkan on macOS (thanks @proton991!) 2024-07-23 08:17:22 -07:00
testwaylandcustom.c Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty() 2024-07-12 10:41:02 -07:00
testwm.c Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
testyuv_cvt.c testyuv: added validation of P010 YUV format 2024-03-01 20:26:52 -08:00
testyuv_cvt.h testyuv: added validation of P010 YUV format 2024-03-01 20:26:52 -08:00
testyuv.bmp Updated SDL's YUV support, many thanks to Adrien Descamps 2017-11-12 22:51:12 -08:00
testyuv.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
torturethread.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
trashcan.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
unifont-15.1.05-license.txt Updated unifont to version 15.1.05 2024-06-27 17:43:03 -07:00
unifont-15.1.05.hex Updated unifont to version 15.1.05 2024-06-27 17:43:03 -07:00
utf8.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00

These are test programs for the SDL library:

	checkkeys	Watch the key events to check the keyboard
	loopwave	Audio test -- loop playing a WAV file
	testsurround	Audio test -- play test tone on each audio channel
	testaudioinfo	Lists audio device capabilities
	testerror	Tests multi-threaded error handling
	testfile	Tests SDL_IOStream layer
	testgl		A very simple example of using OpenGL with SDL
	testiconv	Tests international string conversion
	testkeys	List the available keyboard keys
	testloadso	Tests the loadable library layer
	testlocale  Test Locale API
	testlock	Hacked up test of multi-threading and locking
	testmouse	Tests mouse coordinates
	testmultiaudio	Tests using several audio devices
	testoverlay	Tests the overlay flickering/scaling during playback.
	testplatform	Tests types, endianness and cpu capabilities
	testsem		Tests SDL's semaphore implementation
	testshape	Tests shaped windows
	testsprite	Example of fast sprite movement on the screen
	testthread	Hacked up test of multi-threading
	testtimer	Test the timer facilities
	testver		Check the version and dynamic loading and endianness
	testwm		Test window manager -- title, icon, events
	torturethread	Simple test for thread creation/destruction
	gamepadmap   Useful to generate Game Controller API compatible maps



This directory contains sample.wav, which is a sample from Will Provost's
song, The Living Proof:

     From the album The Living Proof
     Publisher: 5 Guys Named Will
     Copyright 1996 Will Provost

You can get a copy of the full song (and album!) from iTunes...

    https://itunes.apple.com/us/album/the-living-proof/id4153978

or Amazon...

    http://www.amazon.com/The-Living-Proof-Will-Provost/dp/B00004R8RH

Thanks to Will for permitting us to distribute this sample with SDL!