Re: [PATCH v2] selftests/nolibc: fix libc-test with musl libc

From: Thomas Weißschuh

Date: Fri Mar 20 2026 - 13:11:40 EST


On 2026-03-20 10:04:17+0000, David Laight wrote:
> On Fri, 20 Mar 2026 08:00:46 +0100
> Thomas Weißschuh <linux@xxxxxxxxxxxxxx> wrote:
>
> > Some of the nolibc testcases fail on musl. In these cases nolibc mirrors
> > the non-standard behavior of glibc.
> >
> > Avoid the failures by only running these testcases on nolibc and glibc.

(...)

> > @@ -1824,13 +1832,13 @@ static int run_printf(int min, int max)
> > CASE_TEST(hex_alt_prec); EXPECT_VFPRINTF(1, "| 0x02|0x03| 0x123|", "|%#5.2x|%#04x|%#6.2x|", 2, 3, 0x123); break;
> > CASE_TEST(hex_0_alt); EXPECT_VFPRINTF(1, "|0|0000| 00|", "|%#x|%#04x|%#5.2x|", 0, 0, 0); break;
> > CASE_TEST(pointer); EXPECT_VFPRINTF(1, "0x1", "%p", (void *) 0x1); break;
> > - CASE_TEST(pointer_NULL); EXPECT_VFPRINTF(1, "|(nil)|(nil)|", "|%p|%.4p|", (void *)0, (void *)0); break;
> > - CASE_TEST(string_NULL); EXPECT_VFPRINTF(1, "|(null)||(null)|", "|%s|%.5s|%.6s|", (void *)0, (void *)0, (void *)0); break;
> > + CASE_TEST(pointer_NULL); EXPECT_VFPRINTF(is_nolibc || is_glibc, "|(nil)|(nil)|", "|%p|%.4p|", (void *)0, (void *)0); break;
> > + CASE_TEST(string_NULL); EXPECT_VFPRINTF(is_nolibc, "|(null)||(null)|", "|%s|%.5s|%.6s|", (void *)0, (void *)0, (void *)0); break;
>
> string_NULL should pass on glibc.

Indeed, now fixed up.


And the whole thing has been pushed to nolibc/for-next.


Thomas