diff options
Diffstat (limited to 'tests/tst-errno-map.c')
| -rw-r--r-- | tests/tst-errno-map.c | 439 |
1 files changed, 439 insertions, 0 deletions
diff --git a/tests/tst-errno-map.c b/tests/tst-errno-map.c new file mode 100644 index 0000000..c8ab42d --- /dev/null +++ b/tests/tst-errno-map.c @@ -0,0 +1,439 @@ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <errno.h> +#include <stdio.h> + +#include <libmcpu.h> +#include "../cpu/cpu-sysdeps.h" + + +#define CHECK_HOST_ERRNO(host_name, mcpu_name) \ + do { \ + int mapped = __cpu_errno_from_host( (host_name) ); \ + if( mapped != (__MCPU_ ## mcpu_name) ) \ + { \ + fprintf( stderr, #host_name " mapping mismatch: got=%d expected=%d\n", \ + mapped, (int)(__MCPU_ ## mcpu_name) ); \ + return( 1 ); \ + } \ + } while( 0 ) + + +int +main( void ) +{ + if( __cpu_errno_from_host( 0 ) != 0 ) return( 1 ); + if( __cpu_errno_from_host( -1 ) != __MCPU_EUNKNOWN ) return( 1 ); + if( __cpu_errno_from_host( 0x7fffffff ) != __MCPU_EUNKNOWN ) return( 1 ); + +#ifdef EPERM + CHECK_HOST_ERRNO( EPERM, EPERM ); +#endif +#ifdef ENOENT + CHECK_HOST_ERRNO( ENOENT, ENOENT ); +#endif +#ifdef ESRCH + CHECK_HOST_ERRNO( ESRCH, ESRCH ); +#endif +#ifdef EINTR + CHECK_HOST_ERRNO( EINTR, EINTR ); +#endif +#ifdef EIO + CHECK_HOST_ERRNO( EIO, EIO ); +#endif +#ifdef ENXIO + CHECK_HOST_ERRNO( ENXIO, ENXIO ); +#endif +#ifdef E2BIG + CHECK_HOST_ERRNO( E2BIG, E2BIG ); +#endif +#ifdef ENOEXEC + CHECK_HOST_ERRNO( ENOEXEC, ENOEXEC ); +#endif +#ifdef EBADF + CHECK_HOST_ERRNO( EBADF, EBADF ); +#endif +#ifdef ECHILD + CHECK_HOST_ERRNO( ECHILD, ECHILD ); +#endif +#ifdef EAGAIN + CHECK_HOST_ERRNO( EAGAIN, EAGAIN ); +#endif +#ifdef ENOMEM + CHECK_HOST_ERRNO( ENOMEM, ENOMEM ); +#endif +#ifdef EACCES + CHECK_HOST_ERRNO( EACCES, EACCES ); +#endif +#ifdef EFAULT + CHECK_HOST_ERRNO( EFAULT, EFAULT ); +#endif +#ifdef ENOTBLK + CHECK_HOST_ERRNO( ENOTBLK, ENOTBLK ); +#endif +#ifdef EBUSY + CHECK_HOST_ERRNO( EBUSY, EBUSY ); +#endif +#ifdef EEXIST + CHECK_HOST_ERRNO( EEXIST, EEXIST ); +#endif +#ifdef EXDEV + CHECK_HOST_ERRNO( EXDEV, EXDEV ); +#endif +#ifdef ENODEV + CHECK_HOST_ERRNO( ENODEV, ENODEV ); +#endif +#ifdef ENOTDIR + CHECK_HOST_ERRNO( ENOTDIR, ENOTDIR ); +#endif +#ifdef EISDIR + CHECK_HOST_ERRNO( EISDIR, EISDIR ); +#endif +#ifdef EINVAL + CHECK_HOST_ERRNO( EINVAL, EINVAL ); +#endif +#ifdef ENFILE + CHECK_HOST_ERRNO( ENFILE, ENFILE ); +#endif +#ifdef EMFILE + CHECK_HOST_ERRNO( EMFILE, EMFILE ); +#endif +#ifdef ENOTTY + CHECK_HOST_ERRNO( ENOTTY, ENOTTY ); +#endif +#ifdef ETXTBSY + CHECK_HOST_ERRNO( ETXTBSY, ETXTBSY ); +#endif +#ifdef EFBIG + CHECK_HOST_ERRNO( EFBIG, EFBIG ); +#endif +#ifdef ENOSPC + CHECK_HOST_ERRNO( ENOSPC, ENOSPC ); +#endif +#ifdef ESPIPE + CHECK_HOST_ERRNO( ESPIPE, ESPIPE ); +#endif +#ifdef EROFS + CHECK_HOST_ERRNO( EROFS, EROFS ); +#endif +#ifdef EMLINK + CHECK_HOST_ERRNO( EMLINK, EMLINK ); +#endif +#ifdef EPIPE + CHECK_HOST_ERRNO( EPIPE, EPIPE ); +#endif +#ifdef EDOM + CHECK_HOST_ERRNO( EDOM, EDOM ); +#endif +#ifdef ERANGE + CHECK_HOST_ERRNO( ERANGE, ERANGE ); +#endif +#ifdef EDEADLK + CHECK_HOST_ERRNO( EDEADLK, EDEADLK ); +#endif +#ifdef ENAMETOOLONG + CHECK_HOST_ERRNO( ENAMETOOLONG, ENAMETOOLONG ); +#endif +#ifdef ENOLCK + CHECK_HOST_ERRNO( ENOLCK, ENOLCK ); +#endif +#ifdef ENOSYS + CHECK_HOST_ERRNO( ENOSYS, ENOSYS ); +#endif +#ifdef ENOTEMPTY + CHECK_HOST_ERRNO( ENOTEMPTY, ENOTEMPTY ); +#endif +#ifdef ELOOP + CHECK_HOST_ERRNO( ELOOP, ELOOP ); +#endif +#ifdef ENOMSG + CHECK_HOST_ERRNO( ENOMSG, ENOMSG ); +#endif +#ifdef EIDRM + CHECK_HOST_ERRNO( EIDRM, EIDRM ); +#endif +#ifdef ECHRNG + CHECK_HOST_ERRNO( ECHRNG, ECHRNG ); +#endif +#ifdef EL2NSYNC + CHECK_HOST_ERRNO( EL2NSYNC, EL2NSYNC ); +#endif +#ifdef EL3HLT + CHECK_HOST_ERRNO( EL3HLT, EL3HLT ); +#endif +#ifdef EL3RST + CHECK_HOST_ERRNO( EL3RST, EL3RST ); +#endif +#ifdef ELNRNG + CHECK_HOST_ERRNO( ELNRNG, ELNRNG ); +#endif +#ifdef EUNATCH + CHECK_HOST_ERRNO( EUNATCH, EUNATCH ); +#endif +#ifdef ENOCSI + CHECK_HOST_ERRNO( ENOCSI, ENOCSI ); +#endif +#ifdef EL2HLT + CHECK_HOST_ERRNO( EL2HLT, EL2HLT ); +#endif +#ifdef EBADE + CHECK_HOST_ERRNO( EBADE, EBADE ); +#endif +#ifdef EBADR + CHECK_HOST_ERRNO( EBADR, EBADR ); +#endif +#ifdef EXFULL + CHECK_HOST_ERRNO( EXFULL, EXFULL ); +#endif +#ifdef ENOANO + CHECK_HOST_ERRNO( ENOANO, ENOANO ); +#endif +#ifdef EBADRQC + CHECK_HOST_ERRNO( EBADRQC, EBADRQC ); +#endif +#ifdef EBADSLT + CHECK_HOST_ERRNO( EBADSLT, EBADSLT ); +#endif +#ifdef EBFONT + CHECK_HOST_ERRNO( EBFONT, EBFONT ); +#endif +#ifdef ENOSTR + CHECK_HOST_ERRNO( ENOSTR, ENOSTR ); +#endif +#ifdef ENODATA + CHECK_HOST_ERRNO( ENODATA, ENODATA ); +#endif +#ifdef ETIME + CHECK_HOST_ERRNO( ETIME, ETIME ); +#endif +#ifdef ENOSR + CHECK_HOST_ERRNO( ENOSR, ENOSR ); +#endif +#ifdef ENONET + CHECK_HOST_ERRNO( ENONET, ENONET ); +#endif +#ifdef ENOPKG + CHECK_HOST_ERRNO( ENOPKG, ENOPKG ); +#endif +#ifdef EREMOTE + CHECK_HOST_ERRNO( EREMOTE, EREMOTE ); +#endif +#ifdef ENOLINK + CHECK_HOST_ERRNO( ENOLINK, ENOLINK ); +#endif +#ifdef EADV + CHECK_HOST_ERRNO( EADV, EADV ); +#endif +#ifdef ESRMNT + CHECK_HOST_ERRNO( ESRMNT, ESRMNT ); +#endif +#ifdef ECOMM + CHECK_HOST_ERRNO( ECOMM, ECOMM ); +#endif +#ifdef EPROTO + CHECK_HOST_ERRNO( EPROTO, EPROTO ); +#endif +#ifdef EMULTIHOP + CHECK_HOST_ERRNO( EMULTIHOP, EMULTIHOP ); +#endif +#ifdef EDOTDOT + CHECK_HOST_ERRNO( EDOTDOT, EDOTDOT ); +#endif +#ifdef EBADMSG + CHECK_HOST_ERRNO( EBADMSG, EBADMSG ); +#endif +#ifdef EOVERFLOW + CHECK_HOST_ERRNO( EOVERFLOW, EOVERFLOW ); +#endif +#ifdef ENOTUNIQ + CHECK_HOST_ERRNO( ENOTUNIQ, ENOTUNIQ ); +#endif +#ifdef EBADFD + CHECK_HOST_ERRNO( EBADFD, EBADFD ); +#endif +#ifdef EREMCHG + CHECK_HOST_ERRNO( EREMCHG, EREMCHG ); +#endif +#ifdef ELIBACC + CHECK_HOST_ERRNO( ELIBACC, ELIBACC ); +#endif +#ifdef ELIBBAD + CHECK_HOST_ERRNO( ELIBBAD, ELIBBAD ); +#endif +#ifdef ELIBSCN + CHECK_HOST_ERRNO( ELIBSCN, ELIBSCN ); +#endif +#ifdef ELIBMAX + CHECK_HOST_ERRNO( ELIBMAX, ELIBMAX ); +#endif +#ifdef ELIBEXEC + CHECK_HOST_ERRNO( ELIBEXEC, ELIBEXEC ); +#endif +#ifdef EILSEQ + CHECK_HOST_ERRNO( EILSEQ, EILSEQ ); +#endif +#ifdef ERESTART + CHECK_HOST_ERRNO( ERESTART, ERESTART ); +#endif +#ifdef ESTRPIPE + CHECK_HOST_ERRNO( ESTRPIPE, ESTRPIPE ); +#endif +#ifdef EUSERS + CHECK_HOST_ERRNO( EUSERS, EUSERS ); +#endif +#ifdef ENOTSOCK + CHECK_HOST_ERRNO( ENOTSOCK, ENOTSOCK ); +#endif +#ifdef EDESTADDRREQ + CHECK_HOST_ERRNO( EDESTADDRREQ, EDESTADDRREQ ); +#endif +#ifdef EMSGSIZE + CHECK_HOST_ERRNO( EMSGSIZE, EMSGSIZE ); +#endif +#ifdef EPROTOTYPE + CHECK_HOST_ERRNO( EPROTOTYPE, EPROTOTYPE ); +#endif +#ifdef ENOPROTOOPT + CHECK_HOST_ERRNO( ENOPROTOOPT, ENOPROTOOPT ); +#endif +#ifdef EPROTONOSUPPORT + CHECK_HOST_ERRNO( EPROTONOSUPPORT, EPROTONOSUPPORT ); +#endif +#ifdef ESOCKTNOSUPPORT + CHECK_HOST_ERRNO( ESOCKTNOSUPPORT, ESOCKTNOSUPPORT ); +#endif +#ifdef EOPNOTSUPP + CHECK_HOST_ERRNO( EOPNOTSUPP, EOPNOTSUPP ); +#endif +#ifdef EPFNOSUPPORT + CHECK_HOST_ERRNO( EPFNOSUPPORT, EPFNOSUPPORT ); +#endif +#ifdef EAFNOSUPPORT + CHECK_HOST_ERRNO( EAFNOSUPPORT, EAFNOSUPPORT ); +#endif +#ifdef EADDRINUSE + CHECK_HOST_ERRNO( EADDRINUSE, EADDRINUSE ); +#endif +#ifdef EADDRNOTAVAIL + CHECK_HOST_ERRNO( EADDRNOTAVAIL, EADDRNOTAVAIL ); +#endif +#ifdef ENETDOWN + CHECK_HOST_ERRNO( ENETDOWN, ENETDOWN ); +#endif +#ifdef ENETUNREACH + CHECK_HOST_ERRNO( ENETUNREACH, ENETUNREACH ); +#endif +#ifdef ENETRESET + CHECK_HOST_ERRNO( ENETRESET, ENETRESET ); +#endif +#ifdef ECONNABORTED + CHECK_HOST_ERRNO( ECONNABORTED, ECONNABORTED ); +#endif +#ifdef ECONNRESET + CHECK_HOST_ERRNO( ECONNRESET, ECONNRESET ); +#endif +#ifdef ENOBUFS + CHECK_HOST_ERRNO( ENOBUFS, ENOBUFS ); +#endif +#ifdef EISCONN + CHECK_HOST_ERRNO( EISCONN, EISCONN ); +#endif +#ifdef ENOTCONN + CHECK_HOST_ERRNO( ENOTCONN, ENOTCONN ); +#endif +#ifdef ESHUTDOWN + CHECK_HOST_ERRNO( ESHUTDOWN, ESHUTDOWN ); +#endif +#ifdef ETOOMANYREFS + CHECK_HOST_ERRNO( ETOOMANYREFS, ETOOMANYREFS ); +#endif +#ifdef ETIMEDOUT + CHECK_HOST_ERRNO( ETIMEDOUT, ETIMEDOUT ); +#endif +#ifdef ECONNREFUSED + CHECK_HOST_ERRNO( ECONNREFUSED, ECONNREFUSED ); +#endif +#ifdef EHOSTDOWN + CHECK_HOST_ERRNO( EHOSTDOWN, EHOSTDOWN ); +#endif +#ifdef EHOSTUNREACH + CHECK_HOST_ERRNO( EHOSTUNREACH, EHOSTUNREACH ); +#endif +#ifdef EALREADY + CHECK_HOST_ERRNO( EALREADY, EALREADY ); +#endif +#ifdef EINPROGRESS + CHECK_HOST_ERRNO( EINPROGRESS, EINPROGRESS ); +#endif +#ifdef ESTALE + CHECK_HOST_ERRNO( ESTALE, ESTALE ); +#endif +#ifdef EUCLEAN + CHECK_HOST_ERRNO( EUCLEAN, EUCLEAN ); +#endif +#ifdef ENOTNAM + CHECK_HOST_ERRNO( ENOTNAM, ENOTNAM ); +#endif +#ifdef ENAVAIL + CHECK_HOST_ERRNO( ENAVAIL, ENAVAIL ); +#endif +#ifdef EISNAM + CHECK_HOST_ERRNO( EISNAM, EISNAM ); +#endif +#ifdef EREMOTEIO + CHECK_HOST_ERRNO( EREMOTEIO, EREMOTEIO ); +#endif +#ifdef EDQUOT + CHECK_HOST_ERRNO( EDQUOT, EDQUOT ); +#endif +#ifdef ENOMEDIUM + CHECK_HOST_ERRNO( ENOMEDIUM, ENOMEDIUM ); +#endif +#ifdef EMEDIUMTYPE + CHECK_HOST_ERRNO( EMEDIUMTYPE, EMEDIUMTYPE ); +#endif +#ifdef ECANCELED + CHECK_HOST_ERRNO( ECANCELED, ECANCELED ); +#endif +#ifdef ENOKEY + CHECK_HOST_ERRNO( ENOKEY, ENOKEY ); +#endif +#ifdef EKEYEXPIRED + CHECK_HOST_ERRNO( EKEYEXPIRED, EKEYEXPIRED ); +#endif +#ifdef EKEYREVOKED + CHECK_HOST_ERRNO( EKEYREVOKED, EKEYREVOKED ); +#endif +#ifdef EKEYREJECTED + CHECK_HOST_ERRNO( EKEYREJECTED, EKEYREJECTED ); +#endif +#ifdef EOWNERDEAD + CHECK_HOST_ERRNO( EOWNERDEAD, EOWNERDEAD ); +#endif +#ifdef ENOTRECOVERABLE + CHECK_HOST_ERRNO( ENOTRECOVERABLE, ENOTRECOVERABLE ); +#endif +#ifdef ERFKILL + CHECK_HOST_ERRNO( ERFKILL, ERFKILL ); +#endif +#ifdef EHWPOISON + CHECK_HOST_ERRNO( EHWPOISON, EHWPOISON ); +#endif +#ifdef EFTYPE + CHECK_HOST_ERRNO( EFTYPE, EFTYPE ); +#endif +#ifdef EWOULDBLOCK + CHECK_HOST_ERRNO( EWOULDBLOCK, EWOULDBLOCK ); +#endif +#ifdef EDEADLOCK + CHECK_HOST_ERRNO( EDEADLOCK, EDEADLOCK ); +#endif +#ifdef ENOTSUP + CHECK_HOST_ERRNO( ENOTSUP, ENOTSUP ); +#endif + + return( 0 ); + +} /* End of main() */ |
