summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHimanshu40 <himanshuwindows8.1@gmail.com>2018-11-28 13:34:34 +0530
committerJoel Sherrill <joel@rtems.org>2018-11-28 10:59:24 -0600
commit93ccf479e2621109b4711f0cd4568d2463ae6b68 (patch)
treea6b6eb7ef474853ccd100d121113f82212c83e58
parentlm3s3749-testsuite.tcfg: Add dl07 (diff)
downloadrtems-93ccf479e2621109b4711f0cd4568d2463ae6b68.tar.bz2
psxtests: add POSIX API signature compliance tests for mqueue.h file (GCI 2018)
-rw-r--r--testsuites/psxtests/Makefile.am12
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_close.c49
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_getattr.c49
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_notify.c52
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_open.c51
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_receive.c52
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_send.c53
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_setattr.c50
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_timedreceive.c57
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_timedsend.c58
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_unlink.c39
11 files changed, 521 insertions, 1 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index bf1befd337..2385ec8c26 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1093,7 +1093,17 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/dirent/rewinddir.c \
psxhdrs/dirent/scandir.c \
psxhdrs/dirent/seekdir.c \
- psxhdrs/dirent/telldir.c
+ psxhdrs/dirent/telldir.c \
+ psxhdrs/mqueue/mq_open.c \
+ psxhdrs/mqueue/mq_close.c \
+ psxhdrs/mqueue/mq_getattr.c \
+ psxhdrs/mqueue/mq_setattr.c \
+ psxhdrs/mqueue/mq_notify.c \
+ psxhdrs/mqueue/mq_receive.c \
+ psxhdrs/mqueue/mq_send.c \
+ psxhdrs/mqueue/mq_timedreceive.c \
+ psxhdrs/mqueue/mq_timedsend.c \
+ psxhdrs/mqueue/mq_unlink.c
endif
rtems_tests_PROGRAMS = $(psx_tests)
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_close.c b/testsuites/psxtests/psxhdrs/mqueue/mq_close.c
new file mode 100644
index 0000000000..02afecff88
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_close.c
@@ -0,0 +1,49 @@
+/**
+ * @file
+ * @brief mq_close() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_close( mqdes );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_getattr.c b/testsuites/psxtests/psxhdrs/mqueue/mq_getattr.c
new file mode 100644
index 0000000000..092c6bf8cc
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_getattr.c
@@ -0,0 +1,49 @@
+/**
+ * @file
+ * @brief mq_getattr() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_getattr( mqdes, &mqstat );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c b/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c
new file mode 100644
index 0000000000..3b4ace44a0
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c
@@ -0,0 +1,52 @@
+/**
+ * @file
+ * @brief mq_notify() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ struct sigevent sevp;
+ const char *q_name;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ sevp.sigev_notify = SIGEV_SIGNAL;
+ sevp.sigev_signo = SIGUSR1;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_notify( mqdes, &sevp );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_open.c b/testsuites/psxtests/psxhdrs/mqueue/mq_open.c
new file mode 100644
index 0000000000..963a8a1f9a
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_open.c
@@ -0,0 +1,51 @@
+/**
+ * @file
+ * @brief mq_open() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int result = 1;
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ result = 0;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ (void) mqdes;
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_receive.c b/testsuites/psxtests/psxhdrs/mqueue/mq_receive.c
new file mode 100644
index 0000000000..b6c4c2bb92
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_receive.c
@@ -0,0 +1,52 @@
+/**
+ * @file
+ * @brief mq_receive() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ int message[MQ_MAXMSG];
+ unsigned int msg_prio;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ msg_prio = 1;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_receive( mqdes, (char *)message, MQ_MSGSIZE, &msg_prio );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_send.c b/testsuites/psxtests/psxhdrs/mqueue/mq_send.c
new file mode 100644
index 0000000000..a2f457ce61
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_send.c
@@ -0,0 +1,53 @@
+/**
+ * @file
+ * @brief mq_send() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ int msg_ptr;
+ unsigned int msg_prio;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ msg_prio = 1;
+ msg_ptr = 9;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_send( mqdes, (const char *)&msg_ptr, MQ_MSGSIZE, msg_prio );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_setattr.c b/testsuites/psxtests/psxhdrs/mqueue/mq_setattr.c
new file mode 100644
index 0000000000..b97abaaabb
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_setattr.c
@@ -0,0 +1,50 @@
+/**
+ * @file
+ * @brief mq_setattr() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ struct mq_attr *omqstat = NULL;
+ const char *q_name;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_setattr( mqdes, &mqstat, omqstat );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_timedreceive.c b/testsuites/psxtests/psxhdrs/mqueue/mq_timedreceive.c
new file mode 100644
index 0000000000..7eee364ecf
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_timedreceive.c
@@ -0,0 +1,57 @@
+/**
+ * @file
+ * @brief mq_timedreceive() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <time.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ int message[MQ_MAXMSG];
+ struct timespec abs_timeout;
+ unsigned int msg_prio;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ abs_timeout.tv_sec = 0;
+ abs_timeout.tv_nsec = 0;
+ msg_prio = 1;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_timedreceive(
+ mqdes, (char *)message, MQ_MSGSIZE, &msg_prio, &abs_timeout );
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_timedsend.c b/testsuites/psxtests/psxhdrs/mqueue/mq_timedsend.c
new file mode 100644
index 0000000000..6e059eebe4
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_timedsend.c
@@ -0,0 +1,58 @@
+/**
+ * @file
+ * @brief mq_timedsend() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <time.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ const char *q_name;
+ struct timespec abs_timeout;
+ unsigned int msg_prio;
+ int msg_ptr;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ abs_timeout.tv_sec = 0;
+ abs_timeout.tv_nsec = 1;
+ msg_ptr = 5;
+ msg_prio = 1;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_timedsend(
+ mqdes, (const char *)&msg_ptr, MQ_MSGSIZE, msg_prio, &abs_timeout);
+
+ return result;
+ }
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_unlink.c b/testsuites/psxtests/psxhdrs/mqueue/mq_unlink.c
new file mode 100644
index 0000000000..7b651d7175
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_unlink.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief mq_unlink() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <mqueue.h>
+
+ int test( void );
+
+ int test( void )
+ {
+ const char *q_name;
+ int result;
+
+ q_name = "queue";
+ result = mq_unlink( q_name );
+
+ return result;
+ }