]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/nolibc: only run constructor tests on nolibc
authorThomas Weißschuh <linux@weissschuh.net>
Wed, 12 Feb 2025 18:01:01 +0000 (19:01 +0100)
committerThomas Weißschuh <linux@weissschuh.net>
Thu, 20 Feb 2025 21:04:12 +0000 (22:04 +0100)
The nolibc testsuite can be run against other libcs to test for
interoperability. Some aspects of the constructor execution are not
standardized and musl does not provide all tested feature, for one it
does not provide arguments to the constructors, anymore?

Skip the constructor tests on non-nolibc configurations.

Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20250212-nolibc-test-constructor-v1-1-c963875b3da4@weissschuh.net
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
tools/testing/selftests/nolibc/nolibc-test.c

index 798fbdcd3ff8c36b514feb3fa1c7b8d7701cccd7..94db506eca906ff0ce8f518298dee34abf386484 100644 (file)
@@ -738,9 +738,9 @@ int run_startup(int min, int max)
                CASE_TEST(environ_HOME);     EXPECT_PTRNZ(1, getenv("HOME")); break;
                CASE_TEST(auxv_addr);        EXPECT_PTRGT(test_auxv != (void *)-1, test_auxv, brk); break;
                CASE_TEST(auxv_AT_UID);      EXPECT_EQ(1, getauxval(AT_UID), getuid()); break;
-               CASE_TEST(constructor);      EXPECT_EQ(1, constructor_test_value, 2); break;
+               CASE_TEST(constructor);      EXPECT_EQ(is_nolibc, constructor_test_value, 2); break;
                CASE_TEST(linkage_errno);    EXPECT_PTREQ(1, linkage_test_errno_addr(), &errno); break;
-               CASE_TEST(linkage_constr);   EXPECT_EQ(1, linkage_test_constructor_test_value, 6); break;
+               CASE_TEST(linkage_constr);   EXPECT_EQ(is_nolibc, linkage_test_constructor_test_value, 6); break;
                case __LINE__:
                        return ret; /* must be last */
                /* note: do not set any defaults so as to permit holes above */