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
Chris Thrasher
b9f56f79f0
Relax criteria for geometric center test
...
Required to satisfy slight differences in how icpx handles
floating point numbers. Only the x value of this vector required
a larger tolerance than normal. Given how many floating point
calculations are required to calculate geometric center, I'm not
surprised to see such a modest deviation.
2023-07-08 17:00:58 -06:00
Chris Thrasher
20f34d38fd
Add tests for sf::Font
2023-07-07 13:21:56 -06:00
MetGang
8835f42589
Make sf::Clock
pausable
2023-06-02 11:32:04 -06:00
binary1248
b39be46db0
Moved most variables in sfml-graphics, GlResource and GlContext out of namespace scope.
2023-06-02 10:22:48 -06:00
Chris Thrasher
53e2fab582
Prefer named colors
2023-05-25 17:08:42 -06:00
Chris Thrasher
865a50899c
Test for correct network ordering of packets
2023-05-22 08:51:37 -06:00
Chris Thrasher
d131beb0fd
Fix misspellings
...
I used the Python tool codespell to find these
2023-05-21 14:37:46 -06:00
Chris Thrasher
e6cc75f8a6
Fix how we specify CATCH_CONFIG_FAST_COMPILE
...
Fixes a warning that was emitted about how we were doing this wrong
after CMake policy 0077 was added.
2023-05-18 10:43:58 -06:00
Ted Lyngmo
9855552f64
Add sf::Shape::getGeometricCenter()
...
This adds
virtual Vector2f getGeometricCenter() const = 0;
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
2023-05-15 16:13:39 -06:00
Chris Thrasher
f6dfc04938
Switch to Catch2
2023-05-13 12:38:11 -06:00
Chris Thrasher
b14d0b47e6
Fix broken sf::swap
overloads
2023-05-13 12:20:44 -06:00
Chris Thrasher
98a59d62c7
Upgrade to CMake 3.22
2023-05-13 12:09:09 -06:00
Chris Thrasher
27249d42ed
Add sf::WindowBase::set{Min|Max}imumSize()
...
Co-authored-by: Shane Whitmire <dogunbound5@gmail.com>
Co-authored-by: michael.david.howard@outlook.com <michael.david.howard@outlook.com>
2023-05-12 14:36:06 -06:00
Chris Thrasher
fb1cfdc48d
Add misc-const-correctness
clang-tidy check
2023-05-04 16:22:03 -06:00
Chris Thrasher
29863b14a5
Remove default sf::Sprite
constructor
2023-05-03 13:33:42 -06:00
Chris Thrasher
1c5c8ad700
Add tests for sf::sleep
2023-04-28 15:01:11 -06:00
vittorioromeo
cbfa9cbb65
Reorder includes hierarchically
2023-04-25 17:25:33 +02:00
alireza
5480bf8a93
Fixed move semantics for sf::Cursor and added test for it
2023-04-22 18:29:05 +02:00
Jan Wojciechowski
692fe84331
Fix condition for trailing bytes count in UTF-8 decoder. Test added to check if a replacement characters is added to output.
2023-04-19 23:52:38 +02:00
vittorioromeo
c6226258db
Improve test utility header compilation speed
2023-04-13 16:33:49 +02:00
Chris Thrasher
82b9821a8a
Add clang-tidy bugprone-*
checks
2023-04-12 19:53:36 -06:00
Chris Thrasher
cafaa1c153
Add clang-tidy performance-*
checks
2023-04-10 10:08:13 -06:00
binary1248
ea4c448a85
Add support for installing and using the Mesa 3D library for OpenGL rendering.
2023-04-06 11:15:56 -06:00
Chris Thrasher
f371a99b39
Implement sf::String
in terms of std::u32string
2023-04-04 15:47:34 -06:00
binary1248
7004db1cd9
Added sf::RenderWindow, sf::Shader and sf::Window tests.
2023-04-04 10:27:21 +02:00
Chris Thrasher
ebe4b3c437
Add tests for sf::String
2023-04-03 21:23:43 -06:00
Jonny
741fe219da
Use built-in CMake support for iOS
...
* Use built-in iOS support for cmake and expand tests to cover more configurations
* Adjust CI builds
* Update examples version
---------
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
2023-04-03 23:36:33 +02:00
Chris Thrasher
92e5a1e4e6
Implement move semantics for sf::Cursor
2023-04-03 01:02:26 -06:00
binary1248
5048c4d801
Added sf::Texture tests.
2023-03-30 22:24:40 +02:00
Jim-Marsden
a8bc8cf889
Added move constructor, and move assignment operator.
2023-03-29 23:48:05 +02:00
Chris Thrasher
2d2f684786
Fix clang-tidy-16 errors
2023-03-28 19:54:06 -06:00
binary1248
acba3e6165
Replaced xvfb-run with manually starting Xvfb and running fluxbox to emulate a window manager and combined test and coverage steps into a single step.
2023-03-27 19:46:07 -06:00
Chris Thrasher
0b62543942
Don't automatically run tests after build
...
The runtests target must be used on Windows for the sake of code
coverage. However we can't use that target on all other platforms
because on some non-Windows platforms like Android, the tests don't
even get configured. If you try to build a target that doesn't exist
you get a hard failure. Using CTest is better because it will still
return zero even if no tests are found as is the case on Android.
2023-03-14 20:23:17 -06:00
Chris Thrasher
b6c54ac589
Use unity builds to speed up clang-tidy runtime
2023-03-14 10:08:23 -06:00
Lukas Dürrenberger
90f05ac4e8
Switch to using Documentation IP ranges in tests
...
Documentation IP ranges are define in RFC 5737 and are 'safe' address
for documentation purposes
2023-03-09 16:40:01 -07:00
binary1248
f4e0c4b4c0
Make moving Shapes, swapping Textures and swapping VertexBuffers noexcept.
2023-03-07 16:32:35 -07:00
Chris Thrasher
41aa062272
Add modernize-use-auto
clang-tidy check
2023-02-15 09:42:50 -07:00
Chris Thrasher
2a2ddee221
Disable unreliable tests
2023-02-15 09:39:11 -07:00
Chris Thrasher
9d0b2ba592
Add tests for sf::Cursor
2023-02-14 07:34:07 -07:00
Chris Thrasher
cdf8ab38fb
Add tests for sf::VertexBuffer
2023-02-13 11:47:53 -07:00
Chris Thrasher
2af65286b7
Add tests for sf::WindowBase
2023-02-08 00:22:42 -07:00
Jim-Marsden
976bbda911
Drawable Test
2023-01-24 16:27:11 -07:00
Chris Thrasher
dd83189fae
Enable move semantics for SoundFile types
...
Funny how the addition of a forward declaration resulted in
accidentally disabling move semantics for two types. We ought to
be careful that build time improvements don't have runtime
performance impacts.
2023-01-22 15:50:53 -07:00
Norm Evangelista
6ef8e487cc
Added readability-qualified-auto, -redundant-access-specifiers
...
Fixed clang-format escapes
Fixed OSX clang-tidy issues
Collapsed extraneous lines
Fixed clang-format escape
2023-01-19 15:53:40 -07:00
Chris Thrasher
84f56d0936
Add option for skipping tests that require an attached display
2023-01-18 16:06:00 -07:00
Chris Thrasher
b128fcd3df
Add tests for sf::Texture
2023-01-18 16:06:00 -07:00
Chris Thrasher
b2e918bafc
Simplify how test runner command is created
2023-01-18 16:06:00 -07:00
Chris Thrasher
badb388507
Remove unnecessary casts
2023-01-11 15:30:22 -07:00
Chris Thrasher
098f6927d2
Prevent using a temporary sf::SoundBuffer
with sf::Sound
2023-01-06 15:46:22 -07:00
Chris Thrasher
0c2f7da9f9
Prevent using a temporary sf::Texture
with sf::Sprite
2023-01-06 15:46:22 -07:00
Chris Thrasher
3f4bb1ae12
Prevent constructing sf::Text
with a temporary sf::Font
...
By deleting this constructor overload, it fails to compile if
you pass a temporary font to this parameter slot. That includes
code like
sf::Text text("", sf::Font());
but more importantly it prohibits code like this
sf::Font getFont()
{
sf::Font font;
// load a font...
return font;
}
sf::Text text("", getFont());
The same idea can be applied to setFont() to prevent setting fonts
from a temporary.
Credit to Jonny for the idea
Co-authored-by: JonnyPtn <jonathan.r.paton@googlemail.com>
2023-01-06 10:21:00 -07:00
Chris Thrasher
718195bf25
Mark move operators as noexcept
2023-01-04 09:49:20 -07:00
Jim-Marsden
34b6323929
Changed to namespace
2023-01-01 14:31:26 -07:00
Jim-Marsden
7884efc49e
Replaced Header Guards with Pragma Once
2022-12-27 20:08:11 +01:00
Chris Thrasher
e8fa5d7d31
Add CI job for Clang on Windows
2022-12-14 15:26:08 -07:00
Chris Thrasher
3b6db4d18c
Enforce variable case
2022-12-12 16:10:03 -07:00
Chris Thrasher
4807c779a7
Apply warnings to install test
...
Because the install test project can't access SFML CMake functions,
these warnings are only applied when building the install tests as
a part of SFML.
2022-11-29 00:47:32 -07:00
jim
1d4db22d62
Added move constructor/operator
2022-11-19 19:52:45 -07:00
Jonny Paton
e4bffe5b84
Rename test files to be unique
2022-10-23 16:39:12 +02:00
Chris Thrasher
3d02d490bd
Hide doctest sources from compile commands database
...
This ensure that tools like run-clang-tidy don't try to analyze them
and better mimmicks how Doctest would behave if we were depending on
Doctest via find_package instead.
2022-10-17 18:29:56 -06:00
Chris Thrasher
229e3f61f4
Use doctest-provided main
implementation
2022-10-16 14:55:33 -06:00
Chris Thrasher
e4f81af337
Test install interface
...
Skip Android, iOS, and Framework builds simply because I can't get
them to work and don't want that holding up getting the rest of the
install tests merged.
Skip the Static DRM install test because there's a bug in the install
that needs to be fixed.
2022-10-15 09:07:49 +02:00
Chris Thrasher
ff685de1bf
Ensure add_custom_command
uses VERBATIM
...
https://cmake.org/cmake/help/latest/command/add_custom_command.html
"Use of VERBATIM is recommended as it enables correct behavior."
The docs basically say that this is required.
2022-10-12 00:23:35 +02:00
Chris Thrasher
b848a7b29a
Only reference the project's directories, not parent directories
2022-10-12 00:23:35 +02:00
Chris Thrasher
9feef3708d
Test existence of copy and move semantics
2022-10-10 11:46:55 -06:00
Chris Thrasher
0e475f3f50
Test reinterpreting an sf::Color
as a std::uint8_t*
2022-10-05 20:26:25 +02:00
Chris Thrasher
939ec267df
Improve const correctness
2022-10-01 23:19:52 +02:00
Chris Thrasher
e44a4b305d
Simplify operator<<
implementations
2022-10-01 23:19:52 +02:00
Chris Thrasher
25fa30afc6
Make test case names more readable
...
Test output now shows the module name left-aligned so you can easily
browse to see what modules have what tests and know what module a
failing test is coming from.
2022-10-01 23:19:52 +02:00
Chris Thrasher
acabaadc0b
Remove unnecessary sf::
usage
2022-10-01 23:19:52 +02:00
Chris Thrasher
28a4a88832
Add more tests for sf::Packet
2022-10-01 12:35:29 -06:00