summaryrefslogtreecommitdiff
path: root/nix-test/src/errno.c
diff options
context:
space:
mode:
Diffstat (limited to 'nix-test/src/errno.c')
-rw-r--r--nix-test/src/errno.c190
1 files changed, 190 insertions, 0 deletions
diff --git a/nix-test/src/errno.c b/nix-test/src/errno.c
new file mode 100644
index 00000000..9e4817dc
--- /dev/null
+++ b/nix-test/src/errno.c
@@ -0,0 +1,190 @@
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+#define ERRNO_EQ(ERR) \
+ do { \
+ if (0 == strcmp(err, #ERR)) { \
+ return ERR; \
+ } \
+ } while (0)
+
+int
+assert_errno_eq(const char* err) {
+ ERRNO_EQ(EPERM);
+ ERRNO_EQ(ENOENT);
+ ERRNO_EQ(ESRCH);
+ ERRNO_EQ(EINTR);
+ ERRNO_EQ(EIO);
+ ERRNO_EQ(ENXIO);
+ ERRNO_EQ(E2BIG);
+ ERRNO_EQ(ENOEXEC);
+ ERRNO_EQ(EBADF);
+ ERRNO_EQ(ECHILD);
+ ERRNO_EQ(EAGAIN);
+ ERRNO_EQ(ENOMEM);
+ ERRNO_EQ(EACCES);
+ ERRNO_EQ(EFAULT);
+ ERRNO_EQ(ENOTBLK);
+ ERRNO_EQ(EBUSY);
+ ERRNO_EQ(EEXIST);
+ ERRNO_EQ(EXDEV);
+ ERRNO_EQ(ENODEV);
+ ERRNO_EQ(ENOTDIR);
+ ERRNO_EQ(EISDIR);
+ ERRNO_EQ(EINVAL);
+ ERRNO_EQ(ENFILE);
+ ERRNO_EQ(EMFILE);
+ ERRNO_EQ(ENOTTY);
+ ERRNO_EQ(ETXTBSY);
+ ERRNO_EQ(EFBIG);
+ ERRNO_EQ(ENOSPC);
+ ERRNO_EQ(ESPIPE);
+ ERRNO_EQ(EROFS);
+ ERRNO_EQ(EMLINK);
+ ERRNO_EQ(EPIPE);
+ ERRNO_EQ(EDOM);
+ ERRNO_EQ(ERANGE);
+ ERRNO_EQ(EDEADLK);
+ ERRNO_EQ(ENAMETOOLONG);
+ ERRNO_EQ(ENOLCK);
+ ERRNO_EQ(ENOSYS);
+ ERRNO_EQ(ENOTEMPTY);
+ ERRNO_EQ(ELOOP);
+ ERRNO_EQ(ENOMSG);
+ ERRNO_EQ(EIDRM);
+ ERRNO_EQ(EINPROGRESS);
+ ERRNO_EQ(EALREADY);
+ ERRNO_EQ(ENOTSOCK);
+ ERRNO_EQ(EDESTADDRREQ);
+ ERRNO_EQ(EMSGSIZE);
+ ERRNO_EQ(EPROTOTYPE);
+ ERRNO_EQ(ENOPROTOOPT);
+ ERRNO_EQ(EPROTONOSUPPORT);
+ ERRNO_EQ(ESOCKTNOSUPPORT);
+ ERRNO_EQ(EPFNOSUPPORT);
+ ERRNO_EQ(EAFNOSUPPORT);
+ ERRNO_EQ(EADDRINUSE);
+ ERRNO_EQ(EADDRNOTAVAIL);
+ ERRNO_EQ(ENETDOWN);
+ ERRNO_EQ(ENETUNREACH);
+ ERRNO_EQ(ENETRESET);
+ ERRNO_EQ(ECONNABORTED);
+ ERRNO_EQ(ECONNRESET);
+ ERRNO_EQ(ENOBUFS);
+ ERRNO_EQ(EISCONN);
+ ERRNO_EQ(ENOTCONN);
+ ERRNO_EQ(ESHUTDOWN);
+ ERRNO_EQ(ETOOMANYREFS);
+ ERRNO_EQ(ETIMEDOUT);
+ ERRNO_EQ(ECONNREFUSED);
+ ERRNO_EQ(EHOSTDOWN);
+ ERRNO_EQ(EHOSTUNREACH);
+
+#ifdef LINUX
+ ERRNO_EQ(ECHRNG);
+ ERRNO_EQ(EL2NSYNC);
+ ERRNO_EQ(EL3HLT);
+ ERRNO_EQ(EL3RST);
+ ERRNO_EQ(ELNRNG);
+ ERRNO_EQ(EUNATCH);
+ ERRNO_EQ(ENOCSI);
+ ERRNO_EQ(EL2HLT);
+ ERRNO_EQ(EBADE);
+ ERRNO_EQ(EBADR);
+ ERRNO_EQ(EXFULL);
+ ERRNO_EQ(ENOANO);
+ ERRNO_EQ(EBADRQC);
+ ERRNO_EQ(EBADSLT);
+ ERRNO_EQ(EBFONT);
+ ERRNO_EQ(ENOSTR);
+ ERRNO_EQ(ENODATA);
+ ERRNO_EQ(ETIME);
+ ERRNO_EQ(ENOSR);
+ ERRNO_EQ(ENONET);
+ ERRNO_EQ(ENOPKG);
+ ERRNO_EQ(EREMOTE);
+ ERRNO_EQ(ENOLINK);
+ ERRNO_EQ(EADV);
+ ERRNO_EQ(ESRMNT);
+ ERRNO_EQ(ECOMM);
+ ERRNO_EQ(EPROTO);
+ ERRNO_EQ(EMULTIHOP);
+ ERRNO_EQ(EDOTDOT);
+ ERRNO_EQ(EBADMSG);
+ ERRNO_EQ(EOVERFLOW);
+ ERRNO_EQ(ENOTUNIQ);
+ ERRNO_EQ(EBADFD);
+ ERRNO_EQ(EREMCHG);
+ ERRNO_EQ(ELIBACC);
+ ERRNO_EQ(ELIBBAD);
+ ERRNO_EQ(ELIBSCN);
+ ERRNO_EQ(ELIBMAX);
+ ERRNO_EQ(ELIBEXEC);
+ ERRNO_EQ(EILSEQ);
+ ERRNO_EQ(ERESTART);
+ ERRNO_EQ(ESTRPIPE);
+ ERRNO_EQ(EUSERS);
+ ERRNO_EQ(EOPNOTSUPP);
+ ERRNO_EQ(ESTALE);
+ ERRNO_EQ(EUCLEAN);
+ ERRNO_EQ(ENOTNAM);
+ ERRNO_EQ(ENAVAIL);
+ ERRNO_EQ(EISNAM);
+ ERRNO_EQ(EREMOTEIO);
+ ERRNO_EQ(EDQUOT);
+ ERRNO_EQ(ENOMEDIUM);
+ ERRNO_EQ(EMEDIUMTYPE);
+ ERRNO_EQ(ECANCELED);
+ ERRNO_EQ(ENOKEY);
+ ERRNO_EQ(EKEYEXPIRED);
+ ERRNO_EQ(EKEYREVOKED);
+ ERRNO_EQ(EKEYREJECTED);
+ ERRNO_EQ(EOWNERDEAD);
+ ERRNO_EQ(ENOTRECOVERABLE);
+ ERRNO_EQ(ERFKILL);
+ ERRNO_EQ(EHWPOISON);
+#endif
+
+#ifdef DARWIN
+ ERRNO_EQ(ENOTSUP);
+ ERRNO_EQ(EPROCLIM);
+ ERRNO_EQ(EUSERS);
+ ERRNO_EQ(EDQUOT);
+ ERRNO_EQ(ESTALE);
+ ERRNO_EQ(EREMOTE);
+ ERRNO_EQ(EBADRPC);
+ ERRNO_EQ(ERPCMISMATCH);
+ ERRNO_EQ(EPROGUNAVAIL);
+ ERRNO_EQ(EPROGMISMATCH);
+ ERRNO_EQ(EPROCUNAVAIL);
+ ERRNO_EQ(EFTYPE);
+ ERRNO_EQ(EAUTH);
+ ERRNO_EQ(ENEEDAUTH);
+ ERRNO_EQ(EPWROFF);
+ ERRNO_EQ(EDEVERR);
+ ERRNO_EQ(EOVERFLOW);
+ ERRNO_EQ(EBADEXEC);
+ ERRNO_EQ(EBADARCH);
+ ERRNO_EQ(ESHLIBVERS);
+ ERRNO_EQ(EBADMACHO);
+ ERRNO_EQ(ECANCELED);
+ ERRNO_EQ(EILSEQ);
+ ERRNO_EQ(ENOATTR);
+ ERRNO_EQ(EBADMSG);
+ ERRNO_EQ(EMULTIHOP);
+ ERRNO_EQ(ENODATA);
+ ERRNO_EQ(ENOLINK);
+ ERRNO_EQ(ENOSR);
+ ERRNO_EQ(ENOSTR);
+ ERRNO_EQ(EPROTO);
+ ERRNO_EQ(ETIME);
+ ERRNO_EQ(EOPNOTSUPP);
+ ERRNO_EQ(ENOPOLICY);
+ ERRNO_EQ(ENOTRECOVERABLE);
+ ERRNO_EQ(EOWNERDEAD);
+ ERRNO_EQ(EQFULL);
+#endif
+
+ return 0;
+}