1#include <assert.h>
2#include <errno.h>
3#include <stdio.h>
4#include <stdlib.h>
5#include <sys/syscall.h>
6
7#define GO(syscall_num, param) \
8   fprintf(stderr, "---------------------------------------------------------\n"  \
9                   "%3d:%24s %s\n"                                                \
10                   "---------------------------------------------------------\n", \
11                   syscall_num, #syscall_num, param);
12
13#define SY res = syscall
14
15#define FAIL assert(res == -1);
16#define SUCC assert(res != -1);
17#define FAILx(E) \
18   do { \
19      int myerrno = errno; \
20      if (res == -1) { \
21         if (myerrno == E) { \
22            /* as expected */ \
23         } \
24         else { \
25            fprintf(stderr, "Expected error %s (%d), got %d\n", #E, E, myerrno); \
26            exit(1); \
27         } \
28      } \
29      else { \
30         fprintf(stderr, "Expected error %s (%d), got success\n", #E, E); \
31         exit(1); \
32      } \
33   } while (0);
34
35/* Module variables. */
36static long x0;
37static long res;
38
39