Chris Thrasher
068ae6f575
Return std::optional<Event>
from sf::WindowBase::pollEvent
2023-11-09 21:47:53 -07:00
Chris Thrasher
5735fd09d9
Rewrite sf::Event
API to improve type safety
...
This new API is built on top of std::variant. This allows us to
store many different event types in a space-efficient way and access
the active event type in a type-safe manner that eliminates the
categories of UB that are possible with unions.
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2023-11-09 00:19:38 -07:00
Chris Thrasher
d672b3504e
Add more tests for sf::Shape
2023-11-05 15:46:49 -07:00
binary1248
8c9c5c5b99
Added missing SFML_USE_STATIC_STD_LIBS checks to CMake configuration.
2023-10-31 23:22:28 +01:00
Chris Thrasher
5cf740fd93
Remove output parameter from sf::Image::saveToMemory
2023-10-28 17:58:21 -06:00
Chris Thrasher
0fcd1dd0f1
Add tests for sf::Image::loadFromFile
failure
2023-10-27 19:21:36 -06:00
Chris Thrasher
fd2c42c7d1
Add tests for sf::Image::saveToMemory
2023-10-27 19:21:36 -06:00
Chris Thrasher
9a8ca3227f
Add UBsan to CI
2023-10-27 16:36:38 -06:00
André Polomat
014366b84a
Updated the test for the maximum antialiasing level of render texture
...
it returns 32 on my system, 64 should still be a reasonable value
2023-10-27 12:46:27 -06:00
Chris Thrasher
2cbcd60a45
Remove redundant link library
...
Clang was warning about this
ld: warning: ignoring duplicate libraries: 'lib/libsfml-system-s-d.a'
2023-10-23 13:07:27 +02:00
Chris Thrasher
6aabb75bcf
Fix sf::Image
tests
...
Bitten by a copy pasta error. We can't test for exact pixel values
since jpeg compression changes pixel values slightly.
2023-10-21 12:44:51 -05:00
Chris Thrasher
1c037e1cba
Add tests for sf::Image::saveToFile
2023-10-20 23:53:18 -05:00
Chris Thrasher
bb1a465e50
Add cppcoreguidelines-pro-type-member-init
clang-tidy check
...
This marks another good step towards systematically rooting out
undefined behavior in the form of reading uninitialized memory.
2023-10-17 21:41:36 -05:00
Chris Thrasher
c0061797e3
Add more tests for sf::Window
2023-10-05 17:41:29 -06:00
Chris Thrasher
b856d806be
Improve sf::FileInputStream
test coverage
2023-10-05 16:46:31 -06:00
Chris Thrasher
1e4aed8700
Fix clang-tidy readability-container-size-empty
warnings
2023-09-29 15:55:39 -06:00
Chris Thrasher
dbb87db026
Add more tests for sf::Text
2023-09-28 12:41:29 -06:00
Chris Thrasher
3750074238
Add tests for sf::Vulkan
2023-09-24 21:12:18 -06:00
Chris Thrasher
f40d5ac21d
Add tests for sf::Joystick
2023-09-24 20:58:41 -06:00
Chris Thrasher
ff5eaca6a2
Add more tests for sf::VideoMode
2023-09-19 13:43:28 -06:00
Chris Thrasher
9dc2e541e8
Add clang-tidy modernize-return-braced-init-list
check
2023-09-17 15:47:33 -06:00
Chris Thrasher
d56e1838a0
Shallow clone Catch2
...
This takes a 4 second configuration time for the entire project with
examples and tests and turns that into 3! Whopping 25% reduction in
configuration time. This effect is likely to be even larger on machines
without exceptionally good internet connections.
Before:
$ hyperfine 'rm -rf build && cmake --preset dev'
Benchmark 1: rm -rf build && cmake --preset dev
Time (mean ± σ): 4.076 s ± 0.130 s [User: 2.148 s, System: 1.376 s]
Range (min … max): 3.963 s … 4.321 s 10 runs
After:
$ hyperfine 'rm -rf build && cmake --preset dev'
Benchmark 1: rm -rf build && cmake --preset dev
Time (mean ± σ): 3.007 s ± 0.313 s [User: 1.061 s, System: 1.160 s]
Range (min … max): 2.783 s … 3.805 s 10 runs
Co-authored-by: binary1248 <binary1248@hotmail.com>
2023-09-15 16:07:52 -06:00
Chris Thrasher
d6079ce526
Reenable sf::Cursor
tests
...
A fun thing about runDisplayTests() is that it means that the tests
won't get run in CI on the DRM code. Technically you can run the
display tests locally when buidling with DRM so these tests will
still fail under those circumstances. Regardless I think this is a
net positive to run the tests in CI.
2023-09-13 16:19:18 -06:00
Chris Thrasher
332d11be41
Add move semantics to sf::RenderTarget
and sf::RenderTexture
2023-09-05 17:12:06 -06:00
Chris Thrasher
d304d1e57b
Add tests for sf::Clipboard
2023-09-05 16:18:18 -06:00
Chris Thrasher
71162395d7
Add tests for sf::Keyboard
2023-09-05 15:19:53 -06:00
Chris Thrasher
70f9d49559
Add tests for sf::Texture::generateMipmap
2023-09-05 10:58:14 -06:00
Chris Thrasher
d7ab9208be
Add tests for sf::RenderTexture
...
The generateMipmap test was failing because I forgot to enable MESA
in the MinGW Static Standard Library job.
2023-09-05 10:58:14 -06:00
Chris Thrasher
0a3b0d1d16
Add tests for sf::RenderTarget
2023-09-05 10:58:14 -06:00
Chris Thrasher
1cca7cde7e
Consistently use getNativeHandle
function name
2023-08-27 16:52:00 -06:00
kimci86
9cbcd56eb8
Remove Sound default constructor
...
so that a Sound instance is always bound to a SoundBuffer
2023-08-27 16:46:52 -06:00
Chris Thrasher
63088c1bf1
Add tests for sf::SocketSelector
...
I added move semantics while I was at it
2023-08-27 16:46:05 -06:00
Chris Thrasher
b3a467678d
Add tests for sf::Http
...
This class hides a lot of its logic in the private section of the
classes and uses friends to access them so there is little accessible
in the public interface for testing.
2023-08-27 16:46:05 -06:00
Chris Thrasher
364fe38956
Add tests for sf::UdpSocket
2023-08-27 16:46:05 -06:00
Chris Thrasher
90d6d74282
Add tests for sf::TcpSocket
2023-08-27 16:46:05 -06:00
Chris Thrasher
ab06efbe95
Add tests for sf::TcpListener
2023-08-27 16:46:05 -06:00
Chris Thrasher
05b69119e4
Add tests for sf::Event
2023-08-27 10:04:14 -06:00
Chris Thrasher
e5c41c4eb5
Enable move semantics for socket types
2023-08-26 22:17:34 -06:00
Chris Thrasher
29ed8bf3a0
Add tests for sf::Socket
2023-08-26 22:17:34 -06:00
Chris Thrasher
62c376ffa5
Remove unnecessary parentheses
2023-08-21 09:07:32 -06:00
Chris Thrasher
bc86e0bced
Add tests for sf::Sprite
2023-08-06 11:18:06 -06:00
Chris Thrasher
60dbed7e5e
Add tests for sf::Text
2023-08-05 18:58:54 -06:00
kimci86
669d9f53bc
Update Text constructor static assert to use correct parameters
2023-08-05 14:39:07 -06:00
Chris Thrasher
751aceadf8
Add tests for sf::Shader::loadFromFile
...
Plus a few cleanups while I was in there
2023-08-05 14:37:47 -06:00
Chris Thrasher
e17cab1fbf
Add tests for sf::Texture::loadFromFile
2023-08-05 14:37:47 -06:00
Chris Thrasher
c9d9f84a0e
Add tests for sf::Image::loadFromFile
2023-08-04 19:26:30 -06:00
Chris Thrasher
b68482754b
Use std::filesystem::path
for paths
2023-07-27 11:13:45 -06:00
Chris Thrasher
cb4cf4d090
Remove redundant type trait tests
2023-07-17 08:38:26 -06:00
Chris Thrasher
bb9ba0d7ef
Update Catch2
...
https://github.com/catchorg/Catch2/releases/tag/v3.4.0
2023-07-13 11:19:17 -06:00
Chris Thrasher
98df0fe4c9
Add doc strings to remaining assertions
2023-07-10 15:03:01 -06:00