rt/tst-mqueue*: Return UNSUPPORTED when mq_open fails with ENOSYS

Rather than returning 0 or a failure.
This commit is contained in:
Samuel Thibault 2022-01-15 15:52:41 +01:00
parent 5f3a7ebc35
commit 9702a41cee
10 changed files with 61 additions and 25 deletions

View File

@ -26,6 +26,7 @@
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <stdint.h> #include <stdint.h>
#include <support/check.h>
#include "tst-mqueue.h" #include "tst-mqueue.h"
static int static int
@ -322,11 +323,14 @@ do_test (void)
if (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"); 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); result |= do_one_test (q, name, 0);

View File

@ -43,7 +43,15 @@ do_test (void)
struct mq_attr attr = { .mq_maxmsg = 1, .mq_msgsize = sizeof (msg) }; 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); 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 }; struct timespec ts = { TYPE_MAXIMUM (time_t), 0 };

View File

@ -27,6 +27,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#include "tst-mqueue.h" #include "tst-mqueue.h"
static void static void
@ -48,11 +49,14 @@ do_test (void)
if (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"); 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); mqd_t q2 = mq_open (name, O_CREAT | O_EXCL | O_RDWR, 0600, &attr);
if (q2 != (mqd_t) -1) if (q2 != (mqd_t) -1)

View File

@ -27,6 +27,7 @@
#include <sys/mman.h> #include <sys/mman.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#if _POSIX_THREADS #if _POSIX_THREADS
# include <pthread.h> # include <pthread.h>
@ -161,15 +162,13 @@ do_test (void)
/* Create the message queue. */ /* Create the message queue. */
struct mq_attr attr = { .mq_maxmsg = MAXMSG, .mq_msgsize = MSGSIZE }; struct mq_attr attr = { .mq_maxmsg = MAXMSG, .mq_msgsize = MSGSIZE };
m = mq_open (mqname, O_CREAT | O_EXCL | O_RDWR, 0600, &attr); m = mq_open (mqname, O_CREAT | O_EXCL | O_RDWR, 0600, &attr);
if (m == -1) if (m == -1)
{ {
if (errno == ENOSYS) if (errno == ENOSYS)
{ FAIL_UNSUPPORTED ("mq_open not supported");
puts ("not implemented");
return 0;
}
puts ("mq_open failed"); printf ("mq_open failed with: %m\n");
return 1; return 1;
} }

View File

@ -29,6 +29,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#include "tst-mqueue.h" #include "tst-mqueue.h"
#define TEST_FUNCTION do_test () #define TEST_FUNCTION do_test ()
@ -45,11 +46,14 @@ do_test (void)
if (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"); printf ("mq_open failed with: %m\n");
return result; return 1;
} }
else
add_temp_mq (name); add_temp_mq (name);
*p = '.'; *p = '.';
memset (p + 1, 'x', NAME_MAX + 1 - (p - name)); memset (p + 1, 'x', NAME_MAX + 1 - (p - name));

View File

@ -30,6 +30,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#include "tst-mqueue.h" #include "tst-mqueue.h"
#if _POSIX_THREADS && defined SIGRTMIN && defined SA_SIGINFO #if _POSIX_THREADS && defined SIGRTMIN && defined SA_SIGINFO
@ -630,11 +631,14 @@ do_test (void)
if (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"); printf ("mq_open failed with: %m\n");
return result; return 1;
} }
else
add_temp_mq (name); add_temp_mq (name);
struct sigevent ev; struct sigevent ev;
memset (&ev, 0xaa, sizeof (ev)); memset (&ev, 0xaa, sizeof (ev));

View File

@ -30,6 +30,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#include "tst-mqueue.h" #include "tst-mqueue.h"
#if _POSIX_THREADS #if _POSIX_THREADS
@ -116,11 +117,14 @@ do_test (void)
if (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"); printf ("mq_open failed with: %m\n");
return result; return 1;
} }
else
add_temp_mq (name); add_temp_mq (name);
pthread_attr_t nattr; pthread_attr_t nattr;
if (pthread_attr_init (&nattr) if (pthread_attr_init (&nattr)

View File

@ -25,6 +25,7 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#define OPT_AFTEREXEC 20000 #define OPT_AFTEREXEC 20000

View File

@ -23,6 +23,7 @@
#include <unistd.h> #include <unistd.h>
#if _POSIX_THREADS #if _POSIX_THREADS
# include <pthread.h> # include <pthread.h>
# include <support/check.h>
static pthread_barrier_t b; static pthread_barrier_t b;
@ -95,8 +96,11 @@ do_test (void)
if (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"); printf ("mq_open failed with: %m\n");
return 0; return 1;
} }
if (mq_unlink (name) != 0) if (mq_unlink (name) != 0)

View File

@ -21,6 +21,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
#include "tst-mqueue.h" #include "tst-mqueue.h"
#define TEST_FUNCTION do_test () #define TEST_FUNCTION do_test ()
@ -41,11 +42,14 @@ do_test (void)
if (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"); printf ("mq_open failed with: %m\n");
return 0; return 1;
} }
else
add_temp_mq (name); add_temp_mq (name);
if (seteuid (1) != 0) if (seteuid (1) != 0)
{ {