* tests/mq.c: New file.
* tests/mq.expected: Likewise.
* tests/mq.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add mq.
(TESTS): Add mq.test.
(EXTRA_DIST): Add mq.expected.
(mq_LDADD): Add -lrt.
* tests/.gitignore: Add mq.
mmap
mmap64
mmsg
+mq
net-accept-connect
netlink_inet_diag
netlink_unix_diag
mmap \
mmap64 \
mmsg \
+ mq \
net-accept-connect \
netlink_inet_diag \
netlink_unix_diag \
filter_unavailable_LDADD = -lpthread
mmap64_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = -lrt
pc_LDADD = $(dl_LIBS)
stat_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
statfs_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
ipc_msg.test \
ipc_shm.test \
ipc_sem.test \
+ mq.test \
readlink.test \
readlinkat.test \
rt_sigqueueinfo.test \
ipc.sh \
memfd_create.expected \
mmsg.expected \
+ mq.expected \
net.expected \
net-fd.expected \
net-yy-accept.awk \
--- /dev/null
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef HAVE_MQUEUE_H
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <mqueue.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main (void)
+{
+ struct mq_attr attr;
+ (void) close(0);
+ if (mq_open("/strace-mq.test", O_CREAT, S_IRWXU, 0) ||
+ mq_getattr(0, &attr) ||
+ mq_setattr(0, &attr, 0) ||
+ mq_unlink("/strace-mq.test"))
+ return 77;
+ return 0;
+}
+
+#else
+
+int
+main(void)
+{
+ return 77;
+}
+
+#endif
--- /dev/null
+mq_open\("strace-mq.test", O_RDONLY\|O_CREAT, 0700, NULL\) += 0
+mq_getsetattr\(0, NULL, \{mq_flags=O_RDONLY, mq_maxmsg=[1-9][0-9]*, mq_msgsize=[1-9][0-9]*, mq_curmsg=0\}\) += 0
+mq_getsetattr\(0, \{mq_flags=O_RDONLY, mq_maxmsg=[1-9][0-9]*, mq_msgsize=[1-9][0-9]*, mq_curmsg=0\}, NULL\) += 0
+mq_unlink\("strace-mq.test"\) += 0
--- /dev/null
+#!/bin/sh
+
+# Check mq_open, mq_getsetattr, mq_unlink syscalls decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_prog
+run_strace -v -e mq_getsetattr,mq_open,mq_unlink $args
+match_grep
+
+exit 0