File indexing completed on 2025-05-11 08:24:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 #include <rtems/test.h>
0038
0039 #include <errno.h>
0040
0041 #define T_STRERROR_CASE(eno) case eno: return #eno
0042
0043 const char *T_strerror(int eno)
0044 {
0045 switch (eno) {
0046 case 0:
0047 return "0";
0048 T_STRERROR_CASE(E2BIG);
0049 T_STRERROR_CASE(EACCES);
0050 T_STRERROR_CASE(EADDRINUSE);
0051 T_STRERROR_CASE(EADDRNOTAVAIL);
0052 T_STRERROR_CASE(EAFNOSUPPORT);
0053 T_STRERROR_CASE(EAGAIN);
0054 T_STRERROR_CASE(EALREADY);
0055 T_STRERROR_CASE(EBADF);
0056 T_STRERROR_CASE(EBADMSG);
0057 T_STRERROR_CASE(EBUSY);
0058 T_STRERROR_CASE(ECANCELED);
0059 T_STRERROR_CASE(ECHILD);
0060 T_STRERROR_CASE(ECONNABORTED);
0061 T_STRERROR_CASE(ECONNREFUSED);
0062 T_STRERROR_CASE(ECONNRESET);
0063 T_STRERROR_CASE(EDEADLK);
0064 T_STRERROR_CASE(EDESTADDRREQ);
0065 T_STRERROR_CASE(EDOM);
0066 T_STRERROR_CASE(EDQUOT);
0067 T_STRERROR_CASE(EEXIST);
0068 T_STRERROR_CASE(EFAULT);
0069 T_STRERROR_CASE(EFBIG);
0070 T_STRERROR_CASE(EHOSTDOWN);
0071 T_STRERROR_CASE(EHOSTUNREACH);
0072 T_STRERROR_CASE(EIDRM);
0073 T_STRERROR_CASE(EILSEQ);
0074 T_STRERROR_CASE(EINPROGRESS);
0075 T_STRERROR_CASE(EINTR);
0076 T_STRERROR_CASE(EINVAL);
0077 T_STRERROR_CASE(EIO);
0078 T_STRERROR_CASE(EISCONN);
0079 T_STRERROR_CASE(EISDIR);
0080 T_STRERROR_CASE(ELOOP);
0081 T_STRERROR_CASE(EMFILE);
0082 T_STRERROR_CASE(EMLINK);
0083 T_STRERROR_CASE(EMSGSIZE);
0084 T_STRERROR_CASE(EMULTIHOP);
0085 T_STRERROR_CASE(ENAMETOOLONG);
0086 T_STRERROR_CASE(ENETDOWN);
0087 T_STRERROR_CASE(ENETRESET);
0088 T_STRERROR_CASE(ENETUNREACH);
0089 T_STRERROR_CASE(ENFILE);
0090 T_STRERROR_CASE(ENOBUFS);
0091 #ifdef ENODATA
0092 T_STRERROR_CASE(ENODATA);
0093 #endif
0094 T_STRERROR_CASE(ENODEV);
0095 T_STRERROR_CASE(ENOENT);
0096 T_STRERROR_CASE(ENOEXEC);
0097 T_STRERROR_CASE(ENOLCK);
0098 T_STRERROR_CASE(ENOLINK);
0099 T_STRERROR_CASE(ENOMEM);
0100 T_STRERROR_CASE(ENOMSG);
0101 T_STRERROR_CASE(ENOPROTOOPT);
0102 T_STRERROR_CASE(ENOSPC);
0103 #ifdef ENOSR
0104 T_STRERROR_CASE(ENOSR);
0105 #endif
0106 #ifdef ENOSTR
0107 T_STRERROR_CASE(ENOSTR);
0108 #endif
0109 T_STRERROR_CASE(ENOSYS);
0110 T_STRERROR_CASE(ENOTCONN);
0111 T_STRERROR_CASE(ENOTDIR);
0112 T_STRERROR_CASE(ENOTEMPTY);
0113 T_STRERROR_CASE(ENOTRECOVERABLE);
0114 T_STRERROR_CASE(ENOTSOCK);
0115 #if ENOTSUP != EOPNOTSUPP
0116 T_STRERROR_CASE(ENOTSUP);
0117 #endif
0118 T_STRERROR_CASE(ENOTTY);
0119 T_STRERROR_CASE(ENXIO);
0120 T_STRERROR_CASE(EOPNOTSUPP);
0121 T_STRERROR_CASE(EOVERFLOW);
0122 T_STRERROR_CASE(EOWNERDEAD);
0123 T_STRERROR_CASE(EPERM);
0124 T_STRERROR_CASE(EPFNOSUPPORT);
0125 T_STRERROR_CASE(EPIPE);
0126 T_STRERROR_CASE(EPROTO);
0127 T_STRERROR_CASE(EPROTONOSUPPORT);
0128 T_STRERROR_CASE(EPROTOTYPE);
0129 T_STRERROR_CASE(ERANGE);
0130 T_STRERROR_CASE(EROFS);
0131 T_STRERROR_CASE(ESPIPE);
0132 T_STRERROR_CASE(ESRCH);
0133 T_STRERROR_CASE(ESTALE);
0134 #ifdef ETIME
0135 T_STRERROR_CASE(ETIME);
0136 #endif
0137 T_STRERROR_CASE(ETIMEDOUT);
0138 T_STRERROR_CASE(ETOOMANYREFS);
0139 T_STRERROR_CASE(ETXTBSY);
0140 T_STRERROR_CASE(EXDEV);
0141 default:
0142 return "?";
0143 }
0144 }
0145
0146 void T_check_eno(const T_check_context *t, int a, int e)
0147 {
0148 T_check(t, a == e, "%s == %s", T_strerror(a), T_strerror(e));
0149 }
0150
0151 void T_check_eno_success(const T_check_context *t, int a)
0152 {
0153 T_check_eno(t, a, 0);
0154 }