From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from hera.aquilenet.fr (hera.aquilenet.fr [IPv6:2a0c:e300::1]) by sourceware.org (Postfix) with ESMTPS id EA5913858D3C for ; Mon, 17 Jan 2022 18:18:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EA5913858D3C Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 7FE0F33A; Mon, 17 Jan 2022 19:18:10 +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 PZPwSbi5cDu0; Mon, 17 Jan 2022 19:18:09 +0100 (CET) Received: from begin.home (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 004A01D2; Mon, 17 Jan 2022 19:18:08 +0100 (CET) Received: from samy by begin.home with local (Exim 4.95) (envelope-from ) id 1n9WZz-00FOfn-Se; Mon, 17 Jan 2022 19:18:07 +0100 Date: Mon, 17 Jan 2022 19:18:07 +0100 From: Samuel Thibault To: Adhemerval Zanella Cc: libc-alpha@sourceware.org, commit-hurd@gnu.org Subject: Re: [PATCH] rt/tst-mqueue*: Return UNSUPPORTED when mq_open fails with ENOSYS Message-ID: <20220117181807.24nzfy735dg3ma6w@begin> References: <20220115145346.304375-1-samuel.thibault@ens-lyon.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: I am not organized User-Agent: NeoMutt/20170609 (1.8.3) X-Spamd-Bar: / X-Rspamd-Server: hera X-Rspamd-Queue-Id: 7FE0F33A X-Spamd-Result: default: False [0.40 / 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]; HAS_ORG_HEADER(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; MID_RHS_NOT_FQDN(0.50)[] X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_SOFTFAIL, 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: , X-List-Received-Date: Mon, 17 Jan 2022 18:18:13 -0000 Adhemerval Zanella, le lun. 17 janv. 2022 14:46:37 -0300, a ecrit: > On 15/01/2022 11:53, Samuel Thibault wrote: > > Rather than returning 0 or a failure. > > LGTM, thanks. > > Reviewed-by: Adhemerval Zanella Pushed so, thanks! > > --- > > 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) > > {