From a91959e0d45cd624846d2f83edf0d10bae9fc2d0 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 10 Oct 2022 15:27:56 +0100 Subject: backport-testutils: Add g_assert_true(), g_assert_false() These were only added in 2.38, and some projects with particularly ancient dependencies (like the Steam Runtime, based on a 2012 version of Ubuntu) still avoid depending on that version. Signed-off-by: Simon McVittie --- glnx-backport-testutils.h | 8 ++++++++ tests/test-libglnx-testing.c | 4 ++++ tests/testing-helper.c | 14 ++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/glnx-backport-testutils.h b/glnx-backport-testutils.h index 2febcc0..9c17f06 100644 --- a/glnx-backport-testutils.h +++ b/glnx-backport-testutils.h @@ -34,6 +34,14 @@ G_BEGIN_DECLS +#ifndef g_assert_true /* added in 2.38 */ +#define g_assert_true(x) g_assert ((x)) +#endif + +#ifndef g_assert_false /* added in 2.38 */ +#define g_assert_false(x) g_assert (!(x)) +#endif + #ifndef g_assert_nonnull /* added in 2.40 */ #define g_assert_nonnull(x) g_assert (x != NULL) #endif diff --git a/tests/test-libglnx-testing.c b/tests/test-libglnx-testing.c index 279e0e1..aef6eda 100644 --- a/tests/test-libglnx-testing.c +++ b/tests/test-libglnx-testing.c @@ -47,6 +47,8 @@ test_assertions (void) const char * const strv2[] = {"one", "two", NULL}; GStatBuf statbuf; + g_assert_true (null == NULL); + g_assert_false (null != NULL); g_assert_null (null); g_assert_nonnull (nonnull); g_assert_cmpmem (null, 0, null, 0); @@ -64,6 +66,8 @@ test_assertion_failures (void) { static const char * const assertion_failures[] = { + "true", + "false", "nonnull", "null", "mem_null_nonnull", diff --git a/tests/testing-helper.c b/tests/testing-helper.c index 4e00fbe..7c2192c 100644 --- a/tests/testing-helper.c +++ b/tests/testing-helper.c @@ -48,6 +48,18 @@ test_messages (void) "That's why libglnx provides a wrapper.\n"); } +static void +test_assertion_failure_true (void) +{ + g_assert_true (null != NULL); +} + +static void +test_assertion_failure_false (void) +{ + g_assert_false (null == NULL); +} + static void test_assertion_failure_nonnull (void) { @@ -303,6 +315,8 @@ main (int argc, { /* Use -p to select a specific one of these */ #define T(x) g_test_add_func ("/assertion-failure/" #x, test_assertion_failure_ ## x) + T (true); + T (false); T (nonnull); T (null); T (mem_null_nonnull); -- cgit v1.2.1