Pierre Wendling
8ebe640a36
Test: Change inexact tests to use an epsilon.
...
Instead of using `trunc` to check the first ten digits, inexact test now
relies on an epsilon defining an acceptable range for the expected
result to be in.
2022-06-15 12:05:30 -07:00
Pierre Wendling
62fd6aad39
Test: Add Atan tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6a6e93bc29
Test: Add +/-0.0 tests to Acos.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6b4b6d8e59
Test: Add Asin tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
43f6983a24
Test: Add Acos tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
95f6edb9a5
Test: Refactor trigonometric tests into a helper.
...
The precision test of these functions need a special helper, it can also
be used for their arc functions down the line.
2022-06-15 12:05:30 -07:00
Pierre Wendling
3b9f47b85f
Test: Remove early return in pow test.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6be430c7f7
Test: Add Tan tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
af79b46f9e
Test: Add Sin tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b06eda55e9
Test: Fix math suite build on Win32.
...
The cosine precision test now uses an array of double and the result
gets truncated instead of casted to signed int64.
2022-06-15 12:05:30 -07:00
Pierre Wendling
adb445eafb
Test: Add Cos tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a864180cf3
Test: Add float header for FLT_RADIX definition.
2022-06-15 12:05:30 -07:00
Pierre Wendling
7a55fa4e56
Test: Add Scalbn tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
afd812374f
Test: Add Sqrt tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
c389c32d30
Test: Change assertion type in range tests.
...
Changes SDLTest_AssertPass(...) to SDLTest_AssertCheck(SDL_FALSE, ...)
for failed assertions so the internal counter gets updated properly.
2022-06-15 12:05:30 -07:00
Pierre Wendling
5ecc75a4fc
Test: Add Pow tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6349ad7319
Test: Add Log10 tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
7041bbaf00
Test: Add Log tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
dd30ff2e31
Test: Add Exp tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
aacb5e1774
Test: Extract range test parameters into defines.
2022-06-15 12:05:30 -07:00
Pierre Wendling
75b9aab6c1
Test: Add Fmod tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
0dbdf90e7b
Test: Use SDLCALL in typedefs instead of ifdefs.
...
Thanks to @sezero for the tip.
2022-06-15 12:05:30 -07:00
Pierre Wendling
2ec48b36ba
Test: Fix OS/2 compilation in math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
43c22e5d1e
Test: Refactor math suite duplicate code.
...
Many tests were using the same underlying routine, as such three helper
functions were added:
- A wrapper to test double -> double functions.
- A wrapper to test (double, double) -> double functions,
- A wrapper for range tests on double -> double functions.
2022-06-15 12:05:30 -07:00
Pierre Wendling
3d720ba381
Test: Refactor math suites edge cases.
...
Split infinity and zero checks in their own functions.
The result of NAN tests is now logged.
The SDL_TestCaseReference structure were renamed to be more explicit.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a530fc9199
Test: Add Copysign tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
48a406db4d
Test: Add Fabs tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
2130dff0fc
Test: Add Round tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
324b96153f
Test: Add Trunc tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b09266a4ef
Test: Add Ceil tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
9eb09d2392
Test: Refactored and formatted math test suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
0f630e9177
Test: fix indentation in Makefile.in.
2022-06-15 12:05:30 -07:00
Pierre Wendling
4e3a26e271
Test: Add math test suite to autotools.
2022-06-15 12:05:30 -07:00
Pierre Wendling
e64acb619a
Test: Fix for-loop for OS/2 in math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a3a852e912
Test: Unrolled the array of cases in math suite.
...
On OS/2, `INFINITY` is a `const double` which cannot be used to
instantiate an array.
2022-06-15 12:05:30 -07:00
Pierre Wendling
c23216bf46
Test: Removed static from local variables (Math).
...
Static would break compilation on OS/2.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6646edf692
Test: Fix Windows build for math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
d9ff6380ae
Test: Add math test suite to Watcom Makefile.
2022-06-15 12:05:30 -07:00
Pierre Wendling
7389eba943
Test: Fix C89 declaration and math include.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b3faebb8a8
Test: Add Floor tests to math.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b72b5d0f99
Test: Add math automation test suite.
2022-06-15 12:05:30 -07:00
Anonymous Maarten
97711e99fe
cmake: no need to explicitly add a depency (target_link_libraries does this implicitly)
2022-06-15 11:11:49 -07:00
Anonymous Maarten
ad21c70408
cmake: fix CMP0072 warning by prefering GLVND
2022-06-15 11:11:49 -07:00
Ozkan Sezer
163f669745
minor tidy-up to configury.
2022-06-15 17:00:02 +03:00
Simon McVittie
e974985998
test: Add test coverage for surface size overflows
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-06-13 11:53:53 -07:00
Simon McVittie
63b3b9a558
Fix some typos in diagnostic messages
...
Detected by Debian's packaging QA tool, Lintian.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-06-13 08:33:27 -07:00
Eric Wasylishen
2830895740
testgles2.c: refresh cached SDL_GL_GetDrawableSize() on SDL_WINDOWEVENT_SIZE_CHANGED, not SDL_WINDOWEVENT_RESIZED
...
Fixes bug with viewport not updating when moving window between monitors with different scale
factors on Windows (this should also fix the same issue on other OS'es, though untested)
2022-06-11 14:19:01 -07:00
Eric Wasylishen
df36f926fc
testautomation: add video_setWindowCenteredOnDisplay test
2022-06-11 14:19:01 -07:00
Sam Lantinga
51d6d60f11
Updated to autoconf 2.71
2022-06-08 10:14:36 -07:00
Sam Lantinga
30cf26e089
Show the firmware version in testgamecontroller
2022-06-06 06:59:54 -07:00
Christoph Reichenbach
46624b4e1d
Removed two distracting gcc-11 warnings
2022-06-05 14:11:10 +03:00
Christoph Reichenbach
3a20274ddf
Refactoring: move GUID operations out of Joystick
...
- SDL_JoystickGUID -> SDL_GUID (though we retain a type alias)
- Operations for GUID <-> String ops are now in
src/SDL_guid.c and include/SDL_guid.h
- The corresponding Joystick operations delegate to SDL_guid.c
- Added test/testguid.c
2022-06-04 17:22:13 -07:00
Christoph Reichenbach
4e07d4722d
Build warning fixes for gcc-11.3
2022-06-04 17:41:00 +03:00
Sam Lantinga
345efdcb10
Wait for all the threads to actually finish before exiting
...
Fixes https://github.com/libsdl-org/SDL/issues/5748
2022-06-03 08:46:08 -07:00
Cameron Cawley
4c711d2d43
testcustomcursor: Allow running without custom or system cursors
2022-05-25 14:25:54 -07:00
Simon McVittie
a95f5a792c
test: Use install(1) more portably
...
I had assumed that only Linux users would be interested in GNOME-style
installed-tests, but in principle there's no reason why they can't be
used on non-Linux.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-20 22:22:20 +03:00
Ozkan Sezer
848d2008c6
test/Makefile.w32: fix minor typo
2022-05-20 21:10:56 +03:00
Cameron Cawley
83ae1b4987
Convert the test executables to AIF in RISC OS CMake builds
2022-05-19 15:26:13 -07:00
Cameron Cawley
d2b5965894
Remove extra path separator in GetNearbyFilename
2022-05-19 15:25:49 -07:00
Cameron Cawley
aa51a9791a
Run tests with OpenWatcom on CI
2022-05-19 20:11:10 +03:00
Cameron Cawley
9dfa000bc0
Initial support for building for Windows with OpenWatcom
2022-05-19 20:11:10 +03:00
Cameron Cawley
5ef36ead08
Add some missing tests to Watcom builds
2022-05-19 20:11:10 +03:00
Cameron Cawley
3066873126
Split the common code in test/Makefile.os2 into a separate file
2022-05-19 20:11:10 +03:00
Cameron Cawley
0cca71a846
Use SDLCALL for callbacks in public APIs
2022-05-18 15:01:27 -07:00
Sam Lantinga
0ffd985972
Check to see if the file exists in the base path before returning it
2022-05-18 10:10:51 -07:00
pionere
c4cf63f812
improve test-configuration
...
- testkeys 'NEEDS_DISPLAY'
- 'disable' relevant tests in case DUMMY audio/video is disabled
2022-05-18 09:06:56 -07:00
pionere
ea15253220
fix GetNearbyFilename
...
- fix memory leak due to variable 'base'
- fix usage of uninitialized variable (path)
2022-05-18 08:30:34 -07:00
Ryan C. Gordon
a12ffbd532
testcustomcursor: Log the current cursor type as it changes.
...
So you know what you're looking at.
2022-05-17 12:49:36 -04:00
Sam Lantinga
1f2a241688
Add new virtual joysticks to the end of the list
...
This guarantees that the device index that's returned is stable, as long as no joystick hotplug events occur.
2022-05-16 09:02:35 -07:00
Sam Lantinga
3c3ccb1d48
Fixed crash if a virtual joystick was disconnected
2022-05-16 08:56:17 -07:00
Sam Lantinga
f0bc5c9cbf
Added effects support for virtual controllers
2022-05-16 07:21:28 -07:00
Sam Lantinga
e3fd8feae6
Fixed getting the controller index when specifying --virtual (thanks @zturtleman)
2022-05-16 06:17:23 -07:00
Sam Lantinga
94eeb587c1
First pass at extending virtual controller functionality
...
Added the ability to specify a name and the product VID/PID for a virtual controller
Also added a test case to testgamecontroller, if you pass --virtual as a parameter
2022-05-15 20:01:12 -07:00
Simon McVittie
d15f6e379c
test: Add a unit test for overflow detection
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-09 21:31:39 -07:00
Cameron Cawley
c71ee68b8a
Fix enabling tests on platforms without testnative support
2022-05-08 17:38:48 -07:00
Cameron Cawley
318b5577f9
Delete gcc-fat.sh
2022-05-08 17:38:22 -07:00
Ozkan Sezer
db36664f26
configure.ac: remove unnecessary AC_SUBST's added by commit 38ef678990
2022-05-05 18:55:02 +03:00
Simon McVittie
ce502054ad
test: Install GNOME-style installed-tests metadata
...
This allows these tests to be discovered and run by
gnome-desktop-test-runner.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
38ef678990
test: Add a `make install` target for the tests
...
This makes it more convenient to compile them alongside SDL, install
them in an optional package and use them as smoke-tests or diagnostic
tools. The default installation directory is taken from GNOME's
installed-tests, which seems as good a convention as any other:
https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
76a7b629bf
test: Add some common code to load test resources
...
As well as reducing duplication, this lets the tests load their resources
from the SDL_GetBasePath() on platforms that support it, which is useful
if the tests are compiled along with the rest of SDL and installed below
/usr as manual tests, similar to GNOME's installed-tests convention.
Thanks to Ozkan Sezer for the OS/2 build glue.
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
40bef98f8b
test: Add a mode to skip tests that involve arbitrary delays
...
This can be used as a quick acceptance test for CI workflows.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
7d2808e30b
test: Run selected noninteractive tests at build-time
...
In Autotools, these are run by `make -C ${builddir}/test check`.
In CMake, they're run by `make -C ${builddir} test` or
`ninja -C ${builddir} test` or `ctest --test-dir ${builddir}`.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
b299f74d05
test: Make testevdev succeed if the feature is disabled
...
"Not applicable" is more like success than it is like failure.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
6fc7aa28e7
cmake: Add some missing test-cases
...
These were built by Autotools but not by CMake.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
2a8297e427
workflows: Add a test to assert that all the version numbers agree
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Cameron Cawley
b398a847be
Add SDL_FLOATWORDORDER for older ARM toolchains
2022-05-04 09:52:11 -07:00
Susko3
f25a78eede
Enable `SDL_TEXTEDITING_EXT` events in `checkkeys` test
2022-05-02 15:50:39 -07:00
Sam Lantinga
0687128c96
Reduce CPU usage in testgamecontroller
2022-04-29 20:57:17 -07:00
Eddy Jansson
5c1f5a7306
test: Correct invalid enum length.
...
Ensure that they can't break like this again.
2022-04-28 12:58:27 -07:00
Ryan C. Gordon
7d7ec9c951
x11: Remove XVidMode and Xinerama support.
...
Fixes #1782 .
2022-04-26 23:17:13 -04:00
Sam Lantinga
e551384a99
Added functions to get the platform dependent name for a joystick or game controller
2022-04-26 14:54:14 -07:00
Eddy Jansson
5bc2933425
test: Basic tests for SDL_FRectEquals
...
Based on the integer version. These tests mostly check that input
isn't mangled and that invalid input gives the expected negative
result.
2022-04-20 08:38:53 -07:00
Simon McVittie
68b6fff245
test: Copy utf8.txt to build directory
...
testiconv wants this.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-04-12 11:01:20 -04:00
Simon McVittie
b4256d03e9
testevdev: Adapt to a broader definition of keyboards
...
At the time I contributed this unit test, SDL had a relatively narrow
definition of what is a keyboard, approximately matching udev
ID_INPUT_KEYBOARD. Now it uses the equivalent of udev ID_INPUT_KEY,
which matches anything with keyboard keys, and not just reasonably
complete alphanumeric keyboards.
Fixes: 040bd7a9
"Fix udev not detecting ID_INPUT_KEY devices when udev is not running"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-04-12 10:59:53 -04:00
Simon McVittie
c2946902fa
testevdev: Recognise touchpads as such
...
At the time I contributed this unit test, SDL didn't understand Linux
touchpads, but now it does.
Fixes: 373216ae
"Added support for touchpads in the Linux evdev code"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-04-12 10:59:53 -04:00
capehill
006a5a9e03
testgles2: Fix buffer object sizes
2022-04-05 13:05:51 -04:00
Christoph Reichenbach
6cd444f0fa
Visualise scroll wheel events in testmouse
2022-04-02 20:50:21 -07:00
capehill
0dcfa92e4c
testgles2: Call correct function to get shader info log and add link status checking
2022-03-27 09:44:48 -07:00
Ryan C. Gordon
beecae31f6
testshader: use SDL_malloc instead of SDL_stack_alloc.
2022-03-26 08:42:09 -04:00
capehill
d6122704e8
Initialize compile status variable and check also program link status
2022-03-26 08:38:42 -04:00