📄 chk_reply.cpp
字号:
WY_THROW( WyRet() ); } if((Wym_ENOTEMPTY!=WyReply(ENOTEMPTY))||(Wym_ENOTEMPTY->c_repcode()!=ENOTEMPTY)) { WY_THROW( WyRet() ); } if(Wym_ELOOP!=WyReply(ELOOP)) { WY_THROW( WyRet() ); } if(Wym_EWOULDBLOCK!=WyReply(EWOULDBLOCK)) { WY_THROW( WyRet() ); } if(Wym_E41!=WyReply(41)) { WY_THROW( WyRet() ); } if(Wym_ENOMSG!=WyReply(ENOMSG)) { WY_THROW( WyRet() ); } if(Wym_EIDRM!=WyReply(EIDRM)) { WY_THROW( WyRet() ); } if(Wym_ECHRNG!=WyReply(ECHRNG)) { WY_THROW( WyRet() ); } if(Wym_EL2NSYNC!=WyReply(EL2NSYNC)) { WY_THROW( WyRet() ); } if(Wym_EL3HLT!=WyReply(EL3HLT)) { WY_THROW( WyRet() ); } if(Wym_EL3RST!=WyReply(EL3RST)) { WY_THROW( WyRet() ); } if(Wym_ELNRNG!=WyReply(ELNRNG)) { WY_THROW( WyRet() ); } if(Wym_EUNATCH!=WyReply(EUNATCH)) { WY_THROW( WyRet() ); } if(Wym_ENOCSI!=WyReply(ENOCSI)) { WY_THROW( WyRet() ); } if(Wym_EL2HLT!=WyReply(EL2HLT)) { WY_THROW( WyRet() ); } if(Wym_EBADE!=WyReply(EBADE)) { WY_THROW( WyRet() ); } if(Wym_EBADR!=WyReply(EBADR)) { WY_THROW( WyRet() ); } if(Wym_EXFULL!=WyReply(EXFULL)) { WY_THROW( WyRet() ); } if(Wym_ENOANO!=WyReply(ENOANO)) { WY_THROW( WyRet() ); } if(Wym_EBADRQC!=WyReply(EBADRQC)) { WY_THROW( WyRet() ); } if(Wym_EBADSLT!=WyReply(EBADSLT)) { WY_THROW( WyRet() ); } if(Wym_EDEADLOCK!=WyReply(EDEADLOCK)) { WY_THROW( WyRet() ); } if(Wym_E58!=WyReply(58)) { WY_THROW( WyRet() ); } if(Wym_EBFONT!=WyReply(EBFONT)) { WY_THROW( WyRet() ); } if(Wym_ENOSTR!=WyReply(ENOSTR)) { WY_THROW( WyRet() ); } if(Wym_ENODATA!=WyReply(ENODATA)) { WY_THROW( WyRet() ); } if(Wym_ETIME!=WyReply(ETIME)) { WY_THROW( WyRet() ); } if(Wym_ENOSR!=WyReply(ENOSR)) { WY_THROW( WyRet() ); } if(Wym_ENONET!=WyReply(ENONET)) { WY_THROW( WyRet() ); } if(Wym_ENOPKG!=WyReply(ENOPKG)) { WY_THROW( WyRet() ); } if(Wym_EREMOTE!=WyReply(EREMOTE)) { WY_THROW( WyRet() ); } if(Wym_ENOLINK!=WyReply(ENOLINK)) { WY_THROW( WyRet() ); } if(Wym_EADV!=WyReply(EADV)) { WY_THROW( WyRet() ); } if(Wym_ESRMNT!=WyReply(ESRMNT)) { WY_THROW( WyRet() ); } if(Wym_ECOMM!=WyReply(ECOMM)) { WY_THROW( WyRet() ); } if(Wym_EPROTO!=WyReply(EPROTO)) { WY_THROW( WyRet() ); } if(Wym_EMULTIHOP!=WyReply(EMULTIHOP)) { WY_THROW( WyRet() ); } if(Wym_EDOTDOT!=WyReply(EDOTDOT)) { WY_THROW( WyRet() ); } if(Wym_EBADMSG!=WyReply(EBADMSG)) { WY_THROW( WyRet() ); } if(Wym_EOVERFLOW!=WyReply(EOVERFLOW)) { WY_THROW( WyRet() ); } if(Wym_ENOTUNIQ!=WyReply(ENOTUNIQ)) { WY_THROW( WyRet() ); } if(Wym_EBADFD!=WyReply(EBADFD)) { WY_THROW( WyRet() ); } if(Wym_EREMCHG!=WyReply(EREMCHG)) { WY_THROW( WyRet() ); } if(Wym_ELIBACC!=WyReply(ELIBACC)) { WY_THROW( WyRet() ); } if(Wym_ELIBBAD!=WyReply(ELIBBAD)) { WY_THROW( WyRet() ); } if(Wym_ELIBSCN!=WyReply(ELIBSCN)) { WY_THROW( WyRet() ); } if(Wym_ELIBMAX!=WyReply(ELIBMAX)) { WY_THROW( WyRet() ); } if(Wym_ELIBEXEC!=WyReply(ELIBEXEC)) { WY_THROW( WyRet() ); } if(Wym_EILSEQ!=WyReply(EILSEQ)) { WY_THROW( WyRet() ); } if(Wym_ERESTART!=WyReply(ERESTART)) { WY_THROW( WyRet() ); } if(Wym_ESTRPIPE!=WyReply(ESTRPIPE)) { WY_THROW( WyRet() ); } if(Wym_EUSERS!=WyReply(EUSERS)) { WY_THROW( WyRet() ); } if(Wym_ENOTSOCK!=WyReply(ENOTSOCK)) { WY_THROW( WyRet() ); } if(Wym_EDESTADDRREQ!=WyReply(EDESTADDRREQ)) { WY_THROW( WyRet() ); } if(Wym_EMSGSIZE!=WyReply(EMSGSIZE)) { WY_THROW( WyRet() ); } if(Wym_EPROTOTYPE!=WyReply(EPROTOTYPE)) { WY_THROW( WyRet() ); } if(Wym_ENOPROTOOPT!=WyReply(ENOPROTOOPT)) { WY_THROW( WyRet() ); } if(Wym_EPROTONOSUPPORT!=WyReply(EPROTONOSUPPORT)) { WY_THROW( WyRet() ); } if(Wym_ESOCKTNOSUPPORT!=WyReply(ESOCKTNOSUPPORT)) { WY_THROW( WyRet() ); } if(Wym_EOPNOTSUPP!=WyReply(EOPNOTSUPP)) { WY_THROW( WyRet() ); } if(Wym_EPFNOSUPPORT!=WyReply(EPFNOSUPPORT)) { WY_THROW( WyRet() ); } if(Wym_EAFNOSUPPORT!=WyReply(EAFNOSUPPORT)) { WY_THROW( WyRet() ); } if(Wym_EADDRINUSE!=WyReply(EADDRINUSE)) { WY_THROW( WyRet() ); } if(Wym_EADDRNOTAVAIL!=WyReply(EADDRNOTAVAIL)) { WY_THROW( WyRet() ); } if(Wym_ENETDOWN!=WyReply(ENETDOWN)) { WY_THROW( WyRet() ); } if(Wym_ENETUNREACH!=WyReply(ENETUNREACH)) { WY_THROW( WyRet() ); } if(Wym_ENETRESET!=WyReply(ENETRESET)) { WY_THROW( WyRet() ); } if(Wym_ECONNABORTED!=WyReply(ECONNABORTED)) { WY_THROW( WyRet() ); } if(Wym_ECONNRESET!=WyReply(ECONNRESET)) { WY_THROW( WyRet() ); } if(Wym_ENOBUFS!=WyReply(ENOBUFS)) { WY_THROW( WyRet() ); } if(Wym_EISCONN!=WyReply(EISCONN)) { WY_THROW( WyRet() ); } if(Wym_ENOTCONN!=WyReply(ENOTCONN)) { WY_THROW( WyRet() ); } if(Wym_ESHUTDOWN!=WyReply(ESHUTDOWN)) { WY_THROW( WyRet() ); } if(Wym_ETOOMANYREFS!=WyReply(ETOOMANYREFS)) { WY_THROW( WyRet() ); } if(Wym_ETIMEDOUT!=WyReply(ETIMEDOUT)) { WY_THROW( WyRet() ); } if(Wym_ECONNREFUSED!=WyReply(ECONNREFUSED)) { WY_THROW( WyRet() ); } if(Wym_EHOSTDOWN!=WyReply(EHOSTDOWN)) { WY_THROW( WyRet() ); } if(Wym_EHOSTUNREACH!=WyReply(EHOSTUNREACH)) { WY_THROW( WyRet() ); } if(Wym_EALREADY!=WyReply(EALREADY)) { WY_THROW( WyRet() ); } if(Wym_EINPROGRESS!=WyReply(EINPROGRESS)) { WY_THROW( WyRet() ); } if(Wym_ESTALE!=WyReply(ESTALE)) { WY_THROW( WyRet() ); } if(Wym_EUCLEAN!=WyReply(EUCLEAN)) { WY_THROW( WyRet() ); } if(Wym_ENOTNAM!=WyReply(ENOTNAM)) { WY_THROW( WyRet() ); } if(Wym_ENAVAIL!=WyReply(ENAVAIL)) { WY_THROW( WyRet() ); } if(Wym_EISNAM!=WyReply(EISNAM)) { WY_THROW( WyRet() ); } if(Wym_EREMOTEIO!=WyReply(EREMOTEIO)) { WY_THROW( WyRet() ); } if(Wym_EDQUOT!=WyReply(EDQUOT)) { WY_THROW( WyRet() ); } if(Wym_ENOMEDIUM!=WyReply(ENOMEDIUM)) { WY_THROW( WyRet() ); } if(Wym_EMEDIUMTYPE!=WyReply(EMEDIUMTYPE)) { WY_THROW( WyRet() ); } if(Wym_E125!=WyReply(125)) { WY_THROW( WyRet() ); } if(Wym_E126!=WyReply(126)) { WY_THROW( WyRet() ); } if(Wym_E127!=WyReply(127)) { WY_THROW( WyRet() ); } // chk EWOULDBLOCK EAGAIN if(Wym_EWOULDBLOCK!=Wym_EAGAIN) { // EWOULDBLOCK and EAGAIN should be identical WY_THROW( WyRet() ); } if(Wym_EDEADLK!=Wym_EDEADLOCK) { // EDEADLOCK and EDEADLK should be identical WY_THROW( WyRet() ); } if(Wym_EWOULDBLOCK->c_repcode()!=EAGAIN) { WY_THROW( WyRet() ); } if(Wym_EDEADLK->c_repcode()!=EDEADLK) { WY_THROW( WyRet() ); } // chkeck c_repstr // std::cout << "Different string from ::strerror(errno):\n"; //setlocale(LC_ALL,""); for(int i=0; i<=Wy::_max_errno; ++i) { WyReply ei(i); if(std::strcmp(::strerror(i),ei->c_repstr())!=0) { std::cout << "\n strerror(" << i << ")=" << ::strerror(i) << "\n c_repstr()=" << ei->c_repstr() << std::endl; } }}static void t_error(void){ WyReply tmp(-3); if(tmp.is_default()==false) { WY_THROW(WyRet()); } tmp.reset(-3); // supress unused warning if(tmp.is_default()==false) { WY_THROW(WyRet()); } WyReply tmp1; if(tmp1.is_default()==false) { WY_THROW(WyRet()); } tmp1=-4; if(tmp1.is_default()==false) { WY_THROW(WyRet()); }};static void t_locale_reply(void){#ifdef LC_ALL // dump locale specific error string const char* loc=setlocale(LC_ALL,""); if(loc==NULL) { WY_THROW( WyRet() ); } std::cout << "\nLocale used reply string:\n"; const char* cstr; cstr=::strerror(Ok->c_repcode()); Ok->set_reply(cstr,::strlen(cstr)+1); // including trailing zero cstr=::strerror(Wym_EPERM->c_repcode()); Wym_EPERM->set_reply(cstr,::strlen(cstr)+1); cstr=::strerror(Wym_ENOENT->c_repcode()); Wym_ENOENT->set_reply(cstr,::strlen(cstr)+1); cstr=::strerror(Wym_ESRCH->c_repcode()); Wym_ESRCH->set_reply(cstr,::strlen(cstr)+1); cstr=::strerror(Wym_EBADMSG->c_repcode()); Wym_EBADMSG->set_reply(cstr,::strlen(cstr)+1); cstr=::strerror(Wym_E127->c_repcode()); Wym_E127->set_reply(cstr,::strlen(cstr)+1); char buf[128]; memset(buf,sizeof(buf),0); buf[ Ok->get_reply(buf,sizeof(buf)-1) ]=0; std::cout << " Ok => " << buf << std::endl; buf[ Wym_EPERM->get_reply(buf,sizeof(buf)-1) ]=0; std::cout << " Wym_EPERM => " << buf << std::endl; buf[ Wym_ENOENT->get_reply(buf,sizeof(buf)-1) ]=0; std::cout << " Wym_ENOENT => " << buf << std::endl; buf[ Wym_ESRCH->get_reply(buf,sizeof(buf)-1) ]=0; std::cout << " Wym_ESRCH => " << buf << std::endl; buf[ Wym_EBADMSG->get_reply(buf,sizeof(buf)-1) ]=0; std::cout << " Wym_EBADMSG => " << buf << std::endl; buf[ Wym_E127->get_reply(buf,sizeof(buf)-1) ]=0; std::cout << " Wym_E127 => " << buf << std::endl; std::cout << " ........." << std::endl; setlocale(LC_ALL,loc);#endif};static const std::string chdr( "+---------------+\n" "| main() caught:|\n" "+---------------+\n");int main(void) throw()try { std::cout << "Checking WyReply ...\n"; t_reply(); t1(); t2(); t_error(); t_locale_reply(); std::cout << "Checked Ok\n"; return(0);}catch(const WyRet& e) { std::cerr << chdr << "WyRet thrown" << std::endl; return(-1);}catch(const std::exception& e) { std::cerr << chdr << "std::exception" << std::endl; return(-1);}catch(...) { std::cerr << chdr << "unknown unwind" << std::endl; return(-1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -