diff options
Diffstat (limited to 'selftest.cpp')
| -rw-r--r-- | selftest.cpp | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/selftest.cpp b/selftest.cpp index d50b344b..aa209b7c 100644 --- a/selftest.cpp +++ b/selftest.cpp @@ -25,7 +25,7 @@ * LLC. Start here: http://www.zerotier.com/ */ -#define ZT_TEST_WIRE +#define ZT_TEST_PHY #include <stdio.h> #include <stdlib.h> @@ -57,8 +57,8 @@ #include "node/Defaults.hpp" #include "node/Node.hpp" -#ifdef ZT_TEST_WIRE -#include "osnet/Wire.hpp" +#ifdef ZT_TEST_PHY +#include "osnet/Phy.hpp" #endif #ifdef ZT_ENABLE_NETCONF_MASTER @@ -646,63 +646,63 @@ static int testOther() return 0; } -#ifdef ZT_TEST_WIRE -#define ZT_TEST_WIRE_NUM_UDP_PACKETS 10000 -#define ZT_TEST_WIRE_UDP_PACKET_SIZE 1000 -#define ZT_TEST_WIRE_NUM_VALID_TCP_CONNECTS 10 -#define ZT_TEST_WIRE_NUM_INVALID_TCP_CONNECTS 2 -#define ZT_TEST_WIRE_TCP_MESSAGE_SIZE 1000000 -#define ZT_TEST_WIRE_TIMEOUT_MS 20000 -static unsigned long wireTestUdpPacketCount = 0; -static unsigned long wireTestTcpByteCount = 0; -static unsigned long wireTestTcpConnectSuccessCount = 0; -static unsigned long wireTestTcpConnectFailCount = 0; -static unsigned long wireTestTcpAcceptCount = 0; -static SimpleFunctionWire *testWireInstance = (SimpleFunctionWire *)0; -static void testWireOnDatagramFunction(WireSocket *sock,void **uptr,const struct sockaddr *from,void *data,unsigned long len) +#ifdef ZT_TEST_PHY +#define ZT_TEST_PHY_NUM_UDP_PACKETS 10000 +#define ZT_TEST_PHY_UDP_PACKET_SIZE 1000 +#define ZT_TEST_PHY_NUM_VALID_TCP_CONNECTS 10 +#define ZT_TEST_PHY_NUM_INVALID_TCP_CONNECTS 2 +#define ZT_TEST_PHY_TCP_MESSAGE_SIZE 1000000 +#define ZT_TEST_PHY_TIMEOUT_MS 20000 +static unsigned long phyTestUdpPacketCount = 0; +static unsigned long phyTestTcpByteCount = 0; +static unsigned long phyTestTcpConnectSuccessCount = 0; +static unsigned long phyTestTcpConnectFailCount = 0; +static unsigned long phyTestTcpAcceptCount = 0; +static SimpleFunctionPhy *testPhyInstance = (SimpleFunctionPhy *)0; +static void testPhyOnDatagramFunction(PhySocket *sock,void **uptr,const struct sockaddr *from,void *data,unsigned long len) { - ++wireTestUdpPacketCount; + ++phyTestUdpPacketCount; } -static void testWireOnTcpConnectFunction(WireSocket *sock,void **uptr,bool success) +static void testPhyOnTcpConnectFunction(PhySocket *sock,void **uptr,bool success) { if (success) { - ++wireTestTcpConnectSuccessCount; + ++phyTestTcpConnectSuccessCount; } else { - ++wireTestTcpConnectFailCount; + ++phyTestTcpConnectFailCount; } } -static void testWireOnTcpAcceptFunction(WireSocket *sockL,WireSocket *sockN,void **uptrL,void **uptrN,const struct sockaddr *from) +static void testPhyOnTcpAcceptFunction(PhySocket *sockL,PhySocket *sockN,void **uptrL,void **uptrN,const struct sockaddr *from) { - ++wireTestTcpAcceptCount; - *uptrN = new std::string(ZT_TEST_WIRE_TCP_MESSAGE_SIZE,(char)0xff); - testWireInstance->tcpSetNotifyWritable(sockN,true); + ++phyTestTcpAcceptCount; + *uptrN = new std::string(ZT_TEST_PHY_TCP_MESSAGE_SIZE,(char)0xff); + testPhyInstance->tcpSetNotifyWritable(sockN,true); } -static void testWireOnTcpCloseFunction(WireSocket *sock,void **uptr) +static void testPhyOnTcpCloseFunction(PhySocket *sock,void **uptr) { delete (std::string *)*uptr; // delete testMessage if any } -static void testWireOnTcpDataFunction(WireSocket *sock,void **uptr,void *data,unsigned long len) +static void testPhyOnTcpDataFunction(PhySocket *sock,void **uptr,void *data,unsigned long len) { - wireTestTcpByteCount += len; + phyTestTcpByteCount += len; } -static void testWireOnTcpWritableFunction(WireSocket *sock,void **uptr) +static void testPhyOnTcpWritableFunction(PhySocket *sock,void **uptr) { std::string *testMessage = (std::string *)*uptr; if ((testMessage)&&(testMessage->length() > 0)) { - long sent = testWireInstance->tcpSend(sock,(const void *)testMessage->data(),testMessage->length(),true); + long sent = testPhyInstance->tcpSend(sock,(const void *)testMessage->data(),testMessage->length(),true); if (sent > 0) testMessage->erase(0,sent); } if ((!testMessage)||(!testMessage->length())) { - testWireInstance->close(sock,true); + testPhyInstance->close(sock,true); } } -#endif // ZT_TEST_WIRE +#endif // ZT_TEST_PHY -static int testWire() +static int testPhy() { -#ifdef ZT_TEST_WIRE - char udpTestPayload[ZT_TEST_WIRE_UDP_PACKET_SIZE]; +#ifdef ZT_TEST_PHY + char udpTestPayload[ZT_TEST_PHY_UDP_PACKET_SIZE]; memset(udpTestPayload,0xff,sizeof(udpTestPayload)); struct sockaddr_in bindaddr; @@ -716,66 +716,66 @@ static int testWire() bindaddr.sin_port = Utils::hton((uint16_t)60004); bindaddr.sin_addr.s_addr = Utils::hton((uint32_t)0x7f000001); - std::cout << "[wire] Creating wire endpoint..." << std::endl; - testWireInstance = new SimpleFunctionWire(testWireOnDatagramFunction,testWireOnTcpConnectFunction,testWireOnTcpAcceptFunction,testWireOnTcpCloseFunction,testWireOnTcpDataFunction,testWireOnTcpWritableFunction,false); + std::cout << "[phy] Creating phy endpoint..." << std::endl; + testPhyInstance = new SimpleFunctionPhy(testPhyOnDatagramFunction,testPhyOnTcpConnectFunction,testPhyOnTcpAcceptFunction,testPhyOnTcpCloseFunction,testPhyOnTcpDataFunction,testPhyOnTcpWritableFunction,false); - std::cout << "[wire] Binding UDP listen socket to 127.0.0.1/60002... "; - WireSocket *udpListenSock = testWireInstance->udpBind((const struct sockaddr *)&bindaddr); + std::cout << "[phy] Binding UDP listen socket to 127.0.0.1/60002... "; + PhySocket *udpListenSock = testPhyInstance->udpBind((const struct sockaddr *)&bindaddr); if (!udpListenSock) { std::cout << "FAILED." << std::endl; return -1; } std::cout << "OK" << std::endl; - std::cout << "[wire] Binding TCP listen socket to 127.0.0.1/60002... "; - WireSocket *tcpListenSock = testWireInstance->tcpListen((const struct sockaddr *)&bindaddr); + std::cout << "[phy] Binding TCP listen socket to 127.0.0.1/60002... "; + PhySocket *tcpListenSock = testPhyInstance->tcpListen((const struct sockaddr *)&bindaddr); if (!tcpListenSock) { std::cout << "FAILED." << std::endl; return -1; } std::cout << "OK" << std::endl; - unsigned long wireTestUdpPacketsSent = 0; - unsigned long wireTestTcpValidConnectionsAttempted = 0; - unsigned long wireTestTcpInvalidConnectionsAttempted = 0; + unsigned long phyTestUdpPacketsSent = 0; + unsigned long phyTestTcpValidConnectionsAttempted = 0; + unsigned long phyTestTcpInvalidConnectionsAttempted = 0; - std::cout << "[wire] Testing UDP send/receive... "; std::cout.flush(); - uint64_t timeoutAt = Utils::now() + ZT_TEST_WIRE_TIMEOUT_MS; - while ((Utils::now() < timeoutAt)&&(wireTestUdpPacketCount < ZT_TEST_WIRE_NUM_UDP_PACKETS)) { - if (wireTestUdpPacketsSent < ZT_TEST_WIRE_NUM_UDP_PACKETS) { - if (!testWireInstance->udpSend(udpListenSock,(const struct sockaddr *)&bindaddr,udpTestPayload,sizeof(udpTestPayload))) { + std::cout << "[phy] Testing UDP send/receive... "; std::cout.flush(); + uint64_t timeoutAt = Utils::now() + ZT_TEST_PHY_TIMEOUT_MS; + while ((Utils::now() < timeoutAt)&&(phyTestUdpPacketCount < ZT_TEST_PHY_NUM_UDP_PACKETS)) { + if (phyTestUdpPacketsSent < ZT_TEST_PHY_NUM_UDP_PACKETS) { + if (!testPhyInstance->udpSend(udpListenSock,(const struct sockaddr *)&bindaddr,udpTestPayload,sizeof(udpTestPayload))) { std::cout << "FAILED." << std::endl; return -1; - } else ++wireTestUdpPacketsSent; + } else ++phyTestUdpPacketsSent; } - testWireInstance->poll(100); + testPhyInstance->poll(100); } - std::cout << "got " << wireTestUdpPacketCount << " packets, OK" << std::endl; + std::cout << "got " << phyTestUdpPacketCount << " packets, OK" << std::endl; - std::cout << "[wire] Testing TCP... "; std::cout.flush(); - timeoutAt = Utils::now() + ZT_TEST_WIRE_TIMEOUT_MS; - while ((Utils::now() < timeoutAt)&&(wireTestTcpByteCount < (ZT_TEST_WIRE_NUM_VALID_TCP_CONNECTS * ZT_TEST_WIRE_TCP_MESSAGE_SIZE))) { - if (wireTestTcpValidConnectionsAttempted < ZT_TEST_WIRE_NUM_VALID_TCP_CONNECTS) { - ++wireTestTcpValidConnectionsAttempted; + std::cout << "[phy] Testing TCP... "; std::cout.flush(); + timeoutAt = Utils::now() + ZT_TEST_PHY_TIMEOUT_MS; + while ((Utils::now() < timeoutAt)&&(phyTestTcpByteCount < (ZT_TEST_PHY_NUM_VALID_TCP_CONNECTS * ZT_TEST_PHY_TCP_MESSAGE_SIZE))) { + if (phyTestTcpValidConnectionsAttempted < ZT_TEST_PHY_NUM_VALID_TCP_CONNECTS) { + ++phyTestTcpValidConnectionsAttempted; bool connected = false; - if (!testWireInstance->tcpConnect((const struct sockaddr *)&bindaddr,connected,(void *)0,true)) - ++wireTestTcpConnectFailCount; + if (!testPhyInstance->tcpConnect((const struct sockaddr *)&bindaddr,connected,(void *)0,true)) + ++phyTestTcpConnectFailCount; } - if (wireTestTcpInvalidConnectionsAttempted < ZT_TEST_WIRE_NUM_INVALID_TCP_CONNECTS) { - ++wireTestTcpInvalidConnectionsAttempted; + if (phyTestTcpInvalidConnectionsAttempted < ZT_TEST_PHY_NUM_INVALID_TCP_CONNECTS) { + ++phyTestTcpInvalidConnectionsAttempted; bool connected = false; - if (!testWireInstance->tcpConnect((const struct sockaddr *)&invalidAddr,connected,(void *)0,true)) - ++wireTestTcpConnectFailCount; + if (!testPhyInstance->tcpConnect((const struct sockaddr *)&invalidAddr,connected,(void *)0,true)) + ++phyTestTcpConnectFailCount; } - testWireInstance->poll(100); + testPhyInstance->poll(100); } - if (wireTestTcpByteCount < (ZT_TEST_WIRE_NUM_VALID_TCP_CONNECTS * ZT_TEST_WIRE_TCP_MESSAGE_SIZE)) { - std::cout << "got " << wireTestTcpConnectSuccessCount << " connect successes, " << wireTestTcpConnectFailCount << " failures, and " << wireTestTcpByteCount << " bytes, FAILED." << std::endl; + if (phyTestTcpByteCount < (ZT_TEST_PHY_NUM_VALID_TCP_CONNECTS * ZT_TEST_PHY_TCP_MESSAGE_SIZE)) { + std::cout << "got " << phyTestTcpConnectSuccessCount << " connect successes, " << phyTestTcpConnectFailCount << " failures, and " << phyTestTcpByteCount << " bytes, FAILED." << std::endl; return -1; } else { - std::cout << "got " << wireTestTcpConnectSuccessCount << " connect successes, " << wireTestTcpConnectFailCount << " failures, and " << wireTestTcpByteCount << " bytes, OK" << std::endl; + std::cout << "got " << phyTestTcpConnectSuccessCount << " connect successes, " << phyTestTcpConnectFailCount << " failures, and " << phyTestTcpByteCount << " bytes, OK" << std::endl; } -#endif // ZT_TEST_WIRE +#endif // ZT_TEST_PHY return 0; } @@ -850,7 +850,7 @@ int main(int argc,char **argv) srand((unsigned int)time(0)); - r |= testWire(); + r |= testPhy(); r |= testSqliteNetconfMaster(); r |= testCrypto(); r |= testHttp(); |
