From patchwork Sat Jan 15 14:53:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 50066 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 75EDB3865488 for ; Sat, 15 Jan 2022 14:54:08 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1]) by sourceware.org (Postfix) with ESMTPS id 245A53858D35 for ; Sat, 15 Jan 2022 14:53:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 245A53858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=ens-lyon.org Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id B03B525A; Sat, 15 Jan 2022 15:53:54 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qh8Xg27KsdtX; Sat, 15 Jan 2022 15:53:53 +0100 (CET) Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49]) by hera.aquilenet.fr (Postfix) with ESMTPSA id B0FAA14A; Sat, 15 Jan 2022 15:53:53 +0100 (CET) Received: from samy by begin with local (Exim 4.95) (envelope-from ) id 1n8kRE-001HBS-Fg; Sat, 15 Jan 2022 15:53:52 +0100 From: Samuel Thibault To: libc-alpha@sourceware.org Subject: [PATCH] rt/tst-mqueue*: Return UNSUPPORTED when mq_open fails with ENOSYS Date: Sat, 15 Jan 2022 15:53:46 +0100 Message-Id: <20220115145346.304375-1-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spamd-Bar: ++++ X-Rspamd-Server: hera Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Queue-Id: B03B525A X-Spamd-Result: default: False [4.90 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; R_MISSING_CHARSET(2.50)[]; BROKEN_CONTENT_TYPE(1.50)[]; RCVD_COUNT_THREE(0.00)[3]; MID_CONTAINS_FROM(1.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[] X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: commit-hurd@gnu.org Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Rather than returning 0 or a failure. Reviewed-by: Adhemerval Zanella --- rt/tst-mqueue1.c | 10 +++++++--- rt/tst-mqueue10.c | 10 +++++++++- rt/tst-mqueue2.c | 10 +++++++--- rt/tst-mqueue3.c | 9 ++++----- rt/tst-mqueue4.c | 10 +++++++--- rt/tst-mqueue5.c | 10 +++++++--- rt/tst-mqueue6.c | 10 +++++++--- rt/tst-mqueue7.c | 1 + rt/tst-mqueue8.c | 6 +++++- rt/tst-mqueue9.c | 10 +++++++--- 10 files changed, 61 insertions(+), 25 deletions(-) diff --git a/rt/tst-mqueue1.c b/rt/tst-mqueue1.c index 1fa807f19a..3aa0369a2b 100644 --- a/rt/tst-mqueue1.c +++ b/rt/tst-mqueue1.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "tst-mqueue.h" static int @@ -322,11 +323,14 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return result; + return 1; } - else - add_temp_mq (name); + + add_temp_mq (name); result |= do_one_test (q, name, 0); diff --git a/rt/tst-mqueue10.c b/rt/tst-mqueue10.c index 9da9838258..059c064488 100644 --- a/rt/tst-mqueue10.c +++ b/rt/tst-mqueue10.c @@ -43,7 +43,15 @@ do_test (void) struct mq_attr attr = { .mq_maxmsg = 1, .mq_msgsize = sizeof (msg) }; mqd_t q = mq_open (name, O_CREAT | O_EXCL | O_RDWR, 0600, &attr); - TEST_VERIFY_EXIT (q != (mqd_t) -1); + + if (q == (mqd_t) -1) + { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + + printf ("mq_open failed with: %m\n"); + return 1; + } struct timespec ts = { TYPE_MAXIMUM (time_t), 0 }; diff --git a/rt/tst-mqueue2.c b/rt/tst-mqueue2.c index 18fadfe09c..b355d22474 100644 --- a/rt/tst-mqueue2.c +++ b/rt/tst-mqueue2.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "tst-mqueue.h" static void @@ -48,11 +49,14 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return result; + return 1; } - else - add_temp_mq (name); + + add_temp_mq (name); mqd_t q2 = mq_open (name, O_CREAT | O_EXCL | O_RDWR, 0600, &attr); if (q2 != (mqd_t) -1) diff --git a/rt/tst-mqueue3.c b/rt/tst-mqueue3.c index 812602e2c7..634db921e6 100644 --- a/rt/tst-mqueue3.c +++ b/rt/tst-mqueue3.c @@ -27,6 +27,7 @@ #include #include #include +#include #if _POSIX_THREADS # include @@ -161,15 +162,13 @@ do_test (void) /* Create the message queue. */ struct mq_attr attr = { .mq_maxmsg = MAXMSG, .mq_msgsize = MSGSIZE }; m = mq_open (mqname, O_CREAT | O_EXCL | O_RDWR, 0600, &attr); + if (m == -1) { if (errno == ENOSYS) - { - puts ("not implemented"); - return 0; - } + FAIL_UNSUPPORTED ("mq_open not supported"); - puts ("mq_open failed"); + printf ("mq_open failed with: %m\n"); return 1; } diff --git a/rt/tst-mqueue4.c b/rt/tst-mqueue4.c index ea19c27ab4..62d427a3ca 100644 --- a/rt/tst-mqueue4.c +++ b/rt/tst-mqueue4.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "tst-mqueue.h" #define TEST_FUNCTION do_test () @@ -45,11 +46,14 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return result; + return 1; } - else - add_temp_mq (name); + + add_temp_mq (name); *p = '.'; memset (p + 1, 'x', NAME_MAX + 1 - (p - name)); diff --git a/rt/tst-mqueue5.c b/rt/tst-mqueue5.c index 24539dbb14..70d97a36c2 100644 --- a/rt/tst-mqueue5.c +++ b/rt/tst-mqueue5.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "tst-mqueue.h" #if _POSIX_THREADS && defined SIGRTMIN && defined SA_SIGINFO @@ -630,11 +631,14 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return result; + return 1; } - else - add_temp_mq (name); + + add_temp_mq (name); struct sigevent ev; memset (&ev, 0xaa, sizeof (ev)); diff --git a/rt/tst-mqueue6.c b/rt/tst-mqueue6.c index 4831bf2dc1..bc875f101e 100644 --- a/rt/tst-mqueue6.c +++ b/rt/tst-mqueue6.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "tst-mqueue.h" #if _POSIX_THREADS @@ -116,11 +117,14 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return result; + return 1; } - else - add_temp_mq (name); + + add_temp_mq (name); pthread_attr_t nattr; if (pthread_attr_init (&nattr) diff --git a/rt/tst-mqueue7.c b/rt/tst-mqueue7.c index 302e9e454c..948c0d1326 100644 --- a/rt/tst-mqueue7.c +++ b/rt/tst-mqueue7.c @@ -25,6 +25,7 @@ #include #include #include +#include #define OPT_AFTEREXEC 20000 diff --git a/rt/tst-mqueue8.c b/rt/tst-mqueue8.c index da1e7644e6..b14cde1188 100644 --- a/rt/tst-mqueue8.c +++ b/rt/tst-mqueue8.c @@ -23,6 +23,7 @@ #include #if _POSIX_THREADS # include +# include static pthread_barrier_t b; @@ -95,8 +96,11 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return 0; + return 1; } if (mq_unlink (name) != 0) diff --git a/rt/tst-mqueue9.c b/rt/tst-mqueue9.c index ef2233623b..fe991ec32f 100644 --- a/rt/tst-mqueue9.c +++ b/rt/tst-mqueue9.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "tst-mqueue.h" #define TEST_FUNCTION do_test () @@ -41,11 +42,14 @@ do_test (void) if (q == (mqd_t) -1) { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("mq_open not supported"); + printf ("mq_open failed with: %m\n"); - return 0; + return 1; } - else - add_temp_mq (name); + + add_temp_mq (name); if (seteuid (1) != 0) {