X-Git-Url: http://g0dil.de/git?p=senf.git;a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FINet%2Fnet.test.hh;fp=senf%2FSocket%2FProtocols%2FINet%2Fnet.test.hh;h=7818a5ea872bf946281c16c87776cc1bbe1e212c;hp=325a9bfb42ddfe2f18987090c0dc7f9a666ce95e;hb=74febc7a9abc84c4939269b3443d15fc27f4e960;hpb=9de1568365b7ac411b84da000e18516d9c3b3293 diff --git a/senf/Socket/Protocols/INet/net.test.hh b/senf/Socket/Protocols/INet/net.test.hh index 325a9bf..7818a5e 100644 --- a/senf/Socket/Protocols/INet/net.test.hh +++ b/senf/Socket/Protocols/INet/net.test.hh @@ -32,78 +32,30 @@ #define HH_SENF_senf_Socket_Protocols_INet_net_test_ 1 // Custom includes -#include -#include +#include -//#include "net.test.mpp" //-///////////////////////////////////////////////////////////////////////////////////////////////// -namespace { - - void error(char const * fn, char const * proc="") - { - std::cerr << "\n" << proc << ((*proc)?": ":"") << fn << ": " << strerror(errno) << std::endl; - } - - void fail(char const * proc, char const * fn) - { - error(fn,proc); - _exit(1); - } - - int base_pid = 0; - int server_pid = 0; - - void start(void (*fn)()) - { - if (! base_pid) - base_pid = ::getpid(); - server_pid = ::fork(); - if (server_pid < 0) BOOST_FAIL("fork()"); - if (server_pid == 0) { - signal(SIGCHLD, SIG_IGN); - (*fn)(); - _exit(0); - } - signal(SIGCHLD, SIG_DFL); - sleep(1); - } - - void wait() - { - int status; - if (waitpid(server_pid,&status,0)<0) - BOOST_FAIL("waitpid()"); - BOOST_CHECK_EQUAL( status , 0 ); - } - - void stop() - { - if (server_pid) { - kill(server_pid,9); - wait(); - server_pid = 0; - } - } - - unsigned port(unsigned i) - { - if (! base_pid) - base_pid = ::getpid(); - return 23456u + (((base_pid^(base_pid>>8)^(base_pid>>16)^(base_pid>>24))&0xff)<<2) + i; - } - - std::string localhost4str(unsigned i) - { - return (boost::format("localhost:%d") % port(i)).str(); - } - - std::string localhost6str(unsigned i) - { - return (boost::format("[::1]:%d") % port(i)).str(); - } - -} +namespace senf { +namespace test { + + void error(char const * fn, char const * proc=""); + + void fail(char const * proc, char const * fn); + + void start(void (*fn)()); + + void wait(); + + void stop(); + + unsigned port(unsigned i); + + std::string localhost4str(unsigned i); + + std::string localhost6str(unsigned i); + +}} //-///////////////////////////////////////////////////////////////////////////////////////////////// //#include "net.test.cci"