/* * inetAddressUtilsTest.cpp * * Created on: Dec 8, 2010 * Author: user */ #include "inetAddressUtil.h" #include #include #include #include #include #include using namespace epics::pvAccess; using std::cout; using std::endl; using std::stringstream; using std::hex; String inetAddressToString(osiSockAddr *addr) { stringstream saddr; saddr<<(int)((addr->ia.sin_addr.s_addr)>>24)<<'.'; saddr<<((int)((addr->ia.sin_addr.s_addr)>>16)&0xFF)<<'.'; saddr<<((int)((addr->ia.sin_addr.s_addr)>>8)&0xFF)<<'.'; saddr<<((int)(addr->ia.sin_addr.s_addr)&0xFF); if(addr->ia.sin_port>0) saddr<<":"<ia.sin_port; saddr<<" ("<ia.sin_addr.s_addr))<<")"; return saddr.str(); } int main(int argc, char *argv[]) { InetAddrVector *vec; InetAddrVector *vec1; cout<<"Testing \"getSocketAddressList\""<size()==3); osiSockAddr* addr; addr = vec->at(0); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==555); assert(addr->ia.sin_addr.s_addr==(uint32_t)0x7F000001); cout<<'\t'<at(1); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==1234); assert(addr->ia.sin_addr.s_addr==(uint32_t)0x0A0A0C0B); cout<<'\t'<at(2); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==555); assert(addr->ia.sin_addr.s_addr==(uint32_t)0xC0A80304); cout<<'\t'<size()==4); addr = vec1->at(0); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==6789); assert(addr->ia.sin_addr.s_addr==(uint32_t)0xAC1037A0); cout<<'\t'<at(1); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==555); assert(addr->ia.sin_addr.s_addr==(uint32_t)0x7F000001); cout<<'\t'<at(2); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==1234); assert(addr->ia.sin_addr.s_addr==(uint32_t)0x0A0A0C0B); cout<<'\t'<at(3); assert(addr->ia.sin_family==AF_INET); assert(addr->ia.sin_port==555); assert(addr->ia.sin_addr.s_addr==(uint32_t)0xC0A80304); cout<<'\t'<at(0)))==(int32)0x7F000001); assert(ipv4AddressToInt(*(vec->at(1)))==(int32)0x0A0A0C0B); assert(ipv4AddressToInt(*(vec->at(2)))==(int32)0xC0A80304); cout<<"\nPASSED!\n"; delete vec; delete vec1; cout<<"Testing \"intToIPv4Address\""<ia.sin_family==AF_INET); cout<<'\t'<ia.sin_family==AF_INET); cout<<'\t'<getArray(),src,16)==0); cout<<"\nPASSED!\n"; // TODO add test for 'getBroadcastAddresses' delete addr; return 0; }