* tests/fstat.c: New file.
* tests/fstat64.c: Likewise.
* tests/fstatx.c: Likewise.
* tests/fstat.test: New test.
* tests/fstat64.test: Likewise.
* tests/Makefile.am (check_PROGRAMS): Add fstat and fstat64.
(fstat64_CFLAGS): Define.
(TESTS): Add fstat.test and fstat64.test.
(EXTRA_DIST): Add fstatx.c.
* tests/.gitignore: Add fstat and fstat64.
fanotify_mark
file_handle
filter-unavailable
+fstat
+fstat64
fstatat64
ftruncate
ftruncate64
fanotify_mark \
file_handle \
filter-unavailable \
+ fstat \
+ fstat64 \
fstatat64 \
ftruncate \
ftruncate64 \
clock_xettime_LDADD = -lrt
filter_unavailable_LDADD = -lpthread
+fstat64_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
fstatat64_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
ftruncate64_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
mmap64_CFLAGS = $(AM_CFLAGS) -D_FILE_OFFSET_BITS=64
fanotify_mark.test \
file_handle.test \
filter-unavailable.test \
+ fstat.test \
+ fstat64.test \
fstatat64.test \
ftruncate.test \
ftruncate64.test \
fanotify_mark.expected \
filter-unavailable.expected \
fstatat.c \
+ fstatx.c \
ip_mreq.expected \
ipc.sh \
ipc_msgbuf.expected \
--- /dev/null
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <sys/syscall.h>
+
+#undef TEST_SYSCALL_NAME
+#ifdef __NR_fstat
+# define TEST_SYSCALL_NAME fstat
+# define SAMPLE_SIZE ((kernel_ulong_t) 43147718418)
+#endif
+
+#include "fstatx.c"
--- /dev/null
+#!/bin/sh
+
+# Check fstat syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+# strace -P is implemented using /proc/self/fd
+[ -d /proc/self/fd/ ] ||
+ framework_skip_ '/proc/self/fd/ is not available'
+
+syscall=${ME_%.test}
+run_prog > /dev/null
+OUT="$LOG.out"
+sample=$syscall.sample
+> "$sample"
+run_strace -ve$syscall -P$sample $args > "$OUT"
+match_diff "$LOG" "$OUT"
+rm -f "$OUT"
+
+exit 0
--- /dev/null
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <sys/syscall.h>
+
+#undef TEST_SYSCALL_NAME
+#ifdef __NR_fstat64
+# define TEST_SYSCALL_NAME fstat64
+# define STRUCT_STAT struct stat64
+# define SAMPLE_SIZE ((libc_off_t) 43147718418)
+#endif
+
+#include "fstatx.c"
--- /dev/null
+#!/bin/sh
+
+# Check fstat64 syscall decoding.
+
+. "${srcdir=.}/fstat.test"
--- /dev/null
+#define TEST_SYSCALL_INVOKE(sample, pst) \
+ syscall(TEST_SYSCALL_NR, 0, pst)
+#define PRINT_SYSCALL_HEADER(sample) \
+ printf("%s(0, ", TEST_SYSCALL_STR)
+#define PRINT_SYSCALL_FOOTER \
+ puts(") = 0")
+
+#define TEST_SYSCALL_NR nrify(TEST_SYSCALL_NAME)
+#define nrify(arg) nrify_(arg)
+#define nrify_(arg) __NR_ ## arg
+
+#define USE_ASM_STAT
+
+#include "xstatx.c"