From 1ae660572fcc4ea02b889120458f2e1cf2488b83 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 13 Sep 2016 20:33:04 +0000 Subject: [PATCH] tests: workaround limited semctl implementation in musl musl libc forwards semctl command argument for 8 known commands only, for all the rest it passes 0 instead. * tests/ipc_sem.c (main): Update semctl expected output. --- tests/ipc_sem.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c index 4decb3f9..926fa898 100644 --- a/tests/ipc_sem.c +++ b/tests/ipc_sem.c @@ -88,10 +88,15 @@ main(void) atexit(cleanup); rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); +#ifdef __GLIBC__ +# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\])" +#else +# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\]|0)" +#endif printf("semctl\\(%d, %d, (IPC_64\\|)?%#x /\\* SEM_\\?\\?\\? \\*/" - ", (%#lx|\\[(%#lx|0)\\])\\) += %s\n", - bogus_semid, bogus_semnum, bogus_cmd, bogus_arg, bogus_arg, - sprintrc_grep(rc)); + ", " SEMCTL_BOGUS_ARG_FMT "\\) += %s\n", + bogus_semid, bogus_semnum, bogus_cmd, + bogus_arg, bogus_arg, sprintrc_grep(rc)); un.buf = &ds; if (semctl(id, 0, IPC_STAT, un)) -- 2.40.0