gtk/testsuite/gdk
Simon McVittie 957dd49ef7 testsuite: Use separate setups for unstable tests instead of should_fail
There are two possible interpretations of "expected failure": either
the test *must* fail (exactly the inverse of an ordinary test, with
success becoming failure and failure becoming success), or the test
*may* fail (with success intended, but failure possible in some
environments). Autotools had the second interpretation, which seems
more useful in practice, but Meson has the first.

Instead of using should_fail, we can put the tests in one of two new
suites: "flaky" is intended for tests that succeed or fail unpredictably
according to the test environment or chance, while "failing" is for
tests that ought to succeed but currently never do as a result of a
bug or missing functionality. With a sufficiently new version of Meson,
the flaky and failing tests are not run by default, but can be requested
by running a setup that does not exclude them, with a command like:

    meson test --setup=x11_unstable --suite=flaky --suite=failing

As a bonus, now that we're setting up setups and their excluded suites
programmatically, the gsk-compare-broadway tests are also excluded by
default when running the test setup for a non-broadway backend.

When running the tests in CI, --suite=gtk overrides the default
exclude_suites, so we have to specify --no-suite=flaky and
--no-suite=failing explicitly.

This arrangement is inspired by GNOME/glib!2987, which was contributed
by Marco Trevisan.

Signed-off-by: Simon McVittie <smcv@debian.org>
2022-11-24 13:46:33 +00:00
..
clipboard-data Make clipboard tests run installed 2021-04-30 07:47:19 -04:00
image-data gdk: Improve test coverage 2022-07-16 09:43:46 -04:00
array.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
arrayimpl.c testsuite: Reduce use of g_assert 2021-04-12 08:18:00 -04:00
cairo.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
clipboard-client.c testsuite: Avoid a compiler warning 2021-06-17 09:37:45 -04:00
clipboard.c Make clipboard tests work with portals 2022-09-07 08:45:31 -04:00
contentformats.c testsuite: Add contentformat tests 2021-07-27 04:28:04 +02:00
contentserializer.c Add contentserializer tests for textures 2021-09-17 00:25:22 +02:00
cursor.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
display.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
displaymanager.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
encoding.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
gdk.test.in testsuite: Run some installed tests exclusively 2021-05-17 07:16:42 -04:00
glcontext.c glcontext: Remove leftover function call 2022-02-16 03:48:15 +01:00
image.c gdk: Improve test coverage 2022-07-16 09:43:46 -04:00
keysyms.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
memorytexture.c testsuite: Skip known-broken tests 2022-10-18 23:22:47 -04:00
meson.build testsuite: Use separate setups for unstable tests instead of should_fail 2022-11-24 13:46:33 +00:00
pixbuf.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
rectangle.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
rgba.c gdk: Improve test coverage 2022-07-16 09:43:46 -04:00
seat.c Force g_test_init to cooperate 2021-04-12 21:22:46 -04:00
texture-threads.c testsuite: clear_current() when done 2022-01-06 19:22:47 +01:00
texture.c Add tests for gdk_memory_texture_new_subtexture 2022-05-13 11:44:11 -04:00