From: Zbigniew Jędrzejewski-Szmek Date: Sun, 29 Jun 2025 20:15:29 +0000 (+0200) Subject: test-tests: move assert tests to new file X-Git-Tag: v258-rc1~206^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a1296fa5e53c8065dccd7c8e4796c40aa4d69791;p=thirdparty%2Fsystemd.git test-tests: move assert tests to new file Those macros are defined in tests.[ch], so the tests should be in test-tests.c. --- diff --git a/src/test/meson.build b/src/test/meson.build index e8e4a663d2d..6bb9e3f40dd 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -184,6 +184,7 @@ simple_tests += files( 'test-strxcpyx.c', 'test-sysctl-util.c', 'test-terminal-util.c', + 'test-tests.c', 'test-tmpfile-util.c', 'test-udev-util.c', 'test-uid-classification.c', diff --git a/src/test/test-macro.c b/src/test/test-macro.c index 2de70723aa3..427a6b1490f 100644 --- a/src/test/test-macro.c +++ b/src/test/test-macro.c @@ -1,10 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include - -#include "sd-id128.h" - #include "errno-util.h" #include "tests.h" @@ -1107,124 +1102,4 @@ TEST(u64_multiply_safe) { assert_se(u64_multiply_safe(UINT64_MAX, UINT64_MAX) == 0); } -TEST(ASSERT) { - char *null = NULL; - - ASSERT_OK(0); - ASSERT_OK(255); - ASSERT_OK(printf("Hello world\n")); - ASSERT_SIGNAL(ASSERT_OK(-1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK(-ENOANO), SIGABRT); - - ASSERT_OK_POSITIVE(1); - ASSERT_OK_POSITIVE(255); - ASSERT_SIGNAL(ASSERT_OK_POSITIVE(0), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_POSITIVE(-1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_POSITIVE(-ENOANO), SIGABRT); - - ASSERT_OK_ZERO(0); - ASSERT_SIGNAL(ASSERT_OK_ZERO(1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ZERO(255), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ZERO(-1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ZERO(-ENOANO), SIGABRT); - - ASSERT_OK_EQ(0, 0); - ASSERT_SIGNAL(ASSERT_OK_EQ(1, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_EQ(255, 5), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_EQ(-1, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_EQ(-ENOANO, 0), SIGABRT); - - ASSERT_OK_ERRNO(0 >= 0); - ASSERT_OK_ERRNO(255 >= 0); - ASSERT_OK_ERRNO(printf("Hello world\n")); - ASSERT_SIGNAL(ASSERT_OK_ERRNO(-1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ERRNO(-ENOANO), SIGABRT); - - ASSERT_OK_ZERO_ERRNO(0); - ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(255), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(-1), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(-ENOANO), SIGABRT); - - ASSERT_OK_EQ_ERRNO(0, 0); - ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(1, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(255, 5), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(-1, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(-ENOANO, 0), SIGABRT); - - ASSERT_FAIL(-ENOENT); - ASSERT_FAIL(-EPERM); - ASSERT_SIGNAL(ASSERT_FAIL(0), SIGABRT); - ASSERT_SIGNAL(ASSERT_FAIL(255), SIGABRT); - - ASSERT_ERROR(-ENOENT, ENOENT); - ASSERT_ERROR(RET_NERRNO(mkdir("/i/will/fail/with/enoent", 666)), ENOENT); - ASSERT_SIGNAL(ASSERT_ERROR(0, ENOENT), SIGABRT); - ASSERT_SIGNAL(ASSERT_ERROR(RET_NERRNO(mkdir("/i/will/fail/with/enoent", 666)), ENOANO), SIGABRT); - - errno = ENOENT; - ASSERT_ERROR_ERRNO(-1, ENOENT); - errno = 0; - ASSERT_ERROR_ERRNO(mkdir("/i/will/fail/with/enoent", 666), ENOENT); - ASSERT_SIGNAL(ASSERT_ERROR_ERRNO(0, ENOENT), SIGABRT); - errno = 0; - ASSERT_SIGNAL(ASSERT_ERROR_ERRNO(mkdir("/i/will/fail/with/enoent", 666), ENOANO), SIGABRT); - - ASSERT_TRUE(true); - ASSERT_TRUE(255); - ASSERT_TRUE(getpid()); - ASSERT_SIGNAL(ASSERT_TRUE(1 == 0), SIGABRT); - - ASSERT_FALSE(false); - ASSERT_FALSE(1 == 0); - ASSERT_SIGNAL(ASSERT_FALSE(1 > 0), SIGABRT); - - ASSERT_NULL(NULL); - ASSERT_SIGNAL(ASSERT_NULL(signal_to_string(SIGINT)), SIGABRT); - - ASSERT_NOT_NULL(signal_to_string(SIGTERM)); - ASSERT_SIGNAL(ASSERT_NOT_NULL(NULL), SIGABRT); - - ASSERT_STREQ(NULL, null); - ASSERT_STREQ("foo", "foo"); - ASSERT_SIGNAL(ASSERT_STREQ(null, "bar"), SIGABRT); - ASSERT_SIGNAL(ASSERT_STREQ("foo", "bar"), SIGABRT); - - ASSERT_EQ(0, 0); - ASSERT_EQ(-1, -1); - ASSERT_SIGNAL(ASSERT_EQ(255, -1), SIGABRT); - - ASSERT_GE(0, 0); - ASSERT_GE(1, -1); - ASSERT_SIGNAL(ASSERT_GE(-1, 1), SIGABRT); - - ASSERT_LE(0, 0); - ASSERT_LE(-1, 1); - ASSERT_SIGNAL(ASSERT_LE(1, -1), SIGABRT); - - ASSERT_NE(0, (int64_t) UINT_MAX); - ASSERT_NE(-1, 1); - ASSERT_SIGNAL(ASSERT_NE(0, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_NE(-1, -1), SIGABRT); - - ASSERT_GT(1, 0); - ASSERT_GT(1, -1); - ASSERT_SIGNAL(ASSERT_GT(0, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_GT(-1, 1), SIGABRT); - - ASSERT_LT(0, 1); - ASSERT_LT(-1, 1); - ASSERT_SIGNAL(ASSERT_LT(0, 0), SIGABRT); - ASSERT_SIGNAL(ASSERT_LT(1, -1), SIGABRT); - - ASSERT_EQ_ID128(SD_ID128_NULL, SD_ID128_NULL); - ASSERT_NE_ID128(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), - SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e)); - ASSERT_SIGNAL( - ASSERT_EQ_ID128(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), - SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e)), - SIGABRT); - ASSERT_SIGNAL(ASSERT_NE_ID128(SD_ID128_NULL, SD_ID128_NULL), SIGABRT); -} - DEFINE_TEST_MAIN(LOG_INFO); diff --git a/src/test/test-tests.c b/src/test/test-tests.c new file mode 100644 index 00000000000..745fbeed3a2 --- /dev/null +++ b/src/test/test-tests.c @@ -0,0 +1,130 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include +#include + +#include "sd-id128.h" + +#include "tests.h" + +TEST(ASSERT) { + char *null = NULL; + + ASSERT_OK(0); + ASSERT_OK(255); + ASSERT_OK(printf("Hello world\n")); + ASSERT_SIGNAL(ASSERT_OK(-1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK(-ENOANO), SIGABRT); + + ASSERT_OK_POSITIVE(1); + ASSERT_OK_POSITIVE(255); + ASSERT_SIGNAL(ASSERT_OK_POSITIVE(0), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_POSITIVE(-1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_POSITIVE(-ENOANO), SIGABRT); + + ASSERT_OK_ZERO(0); + ASSERT_SIGNAL(ASSERT_OK_ZERO(1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ZERO(255), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ZERO(-1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ZERO(-ENOANO), SIGABRT); + + ASSERT_OK_EQ(0, 0); + ASSERT_SIGNAL(ASSERT_OK_EQ(1, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_EQ(255, 5), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_EQ(-1, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_EQ(-ENOANO, 0), SIGABRT); + + ASSERT_OK_ERRNO(0 >= 0); + ASSERT_OK_ERRNO(255 >= 0); + ASSERT_OK_ERRNO(printf("Hello world\n")); + ASSERT_SIGNAL(ASSERT_OK_ERRNO(-1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ERRNO(-ENOANO), SIGABRT); + + ASSERT_OK_ZERO_ERRNO(0); + ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(255), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(-1), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_ZERO_ERRNO(-ENOANO), SIGABRT); + + ASSERT_OK_EQ_ERRNO(0, 0); + ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(1, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(255, 5), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(-1, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_OK_EQ_ERRNO(-ENOANO, 0), SIGABRT); + + ASSERT_FAIL(-ENOENT); + ASSERT_FAIL(-EPERM); + ASSERT_SIGNAL(ASSERT_FAIL(0), SIGABRT); + ASSERT_SIGNAL(ASSERT_FAIL(255), SIGABRT); + + ASSERT_ERROR(-ENOENT, ENOENT); + ASSERT_ERROR(RET_NERRNO(mkdir("/i/will/fail/with/enoent", 666)), ENOENT); + ASSERT_SIGNAL(ASSERT_ERROR(0, ENOENT), SIGABRT); + ASSERT_SIGNAL(ASSERT_ERROR(RET_NERRNO(mkdir("/i/will/fail/with/enoent", 666)), ENOANO), SIGABRT); + + errno = ENOENT; + ASSERT_ERROR_ERRNO(-1, ENOENT); + errno = 0; + ASSERT_ERROR_ERRNO(mkdir("/i/will/fail/with/enoent", 666), ENOENT); + ASSERT_SIGNAL(ASSERT_ERROR_ERRNO(0, ENOENT), SIGABRT); + errno = 0; + ASSERT_SIGNAL(ASSERT_ERROR_ERRNO(mkdir("/i/will/fail/with/enoent", 666), ENOANO), SIGABRT); + + ASSERT_TRUE(true); + ASSERT_TRUE(255); + ASSERT_TRUE(getpid()); + ASSERT_SIGNAL(ASSERT_TRUE(1 == 0), SIGABRT); + + ASSERT_FALSE(false); + ASSERT_FALSE(1 == 0); + ASSERT_SIGNAL(ASSERT_FALSE(1 > 0), SIGABRT); + + ASSERT_NULL(NULL); + ASSERT_SIGNAL(ASSERT_NULL(signal_to_string(SIGINT)), SIGABRT); + + ASSERT_NOT_NULL(signal_to_string(SIGTERM)); + ASSERT_SIGNAL(ASSERT_NOT_NULL(NULL), SIGABRT); + + ASSERT_STREQ(NULL, null); + ASSERT_STREQ("foo", "foo"); + ASSERT_SIGNAL(ASSERT_STREQ(null, "bar"), SIGABRT); + ASSERT_SIGNAL(ASSERT_STREQ("foo", "bar"), SIGABRT); + + ASSERT_EQ(0, 0); + ASSERT_EQ(-1, -1); + ASSERT_SIGNAL(ASSERT_EQ(255, -1), SIGABRT); + + ASSERT_GE(0, 0); + ASSERT_GE(1, -1); + ASSERT_SIGNAL(ASSERT_GE(-1, 1), SIGABRT); + + ASSERT_LE(0, 0); + ASSERT_LE(-1, 1); + ASSERT_SIGNAL(ASSERT_LE(1, -1), SIGABRT); + + ASSERT_NE(0, (int64_t) UINT_MAX); + ASSERT_NE(-1, 1); + ASSERT_SIGNAL(ASSERT_NE(0, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_NE(-1, -1), SIGABRT); + + ASSERT_GT(1, 0); + ASSERT_GT(1, -1); + ASSERT_SIGNAL(ASSERT_GT(0, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_GT(-1, 1), SIGABRT); + + ASSERT_LT(0, 1); + ASSERT_LT(-1, 1); + ASSERT_SIGNAL(ASSERT_LT(0, 0), SIGABRT); + ASSERT_SIGNAL(ASSERT_LT(1, -1), SIGABRT); + + ASSERT_EQ_ID128(SD_ID128_NULL, SD_ID128_NULL); + ASSERT_NE_ID128(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), + SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e)); + ASSERT_SIGNAL( + ASSERT_EQ_ID128(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), + SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e)), + SIGABRT); + ASSERT_SIGNAL(ASSERT_NE_ID128(SD_ID128_NULL, SD_ID128_NULL), SIGABRT); +} + +DEFINE_TEST_MAIN(LOG_INFO);