Add unit tests specific for #12208. Pass depends on network.
NetworkAddressTest passes (most) tests when you have network. When no network interface (ie -net none in QEMU) tests take forever and more tests fail. When network interface exists but is disabled in Haiku, tests are fast but more tests fail.
This commit is contained in:
@@ -6,5 +6,5 @@ UnitTestLib libnetapitest.so :
|
||||
NetworkAddressTest.cpp
|
||||
NetworkInterfaceTest.cpp
|
||||
|
||||
: bnetapi network [ TargetLibstdc++ ] [ TargetLibsupc++ ]
|
||||
: be bnetapi network [ TargetLibstdc++ ] [ TargetLibsupc++ ]
|
||||
;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "NetworkAddressTest.h"
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet6/in6.h>
|
||||
|
||||
#include <NetworkAddress.h>
|
||||
@@ -83,6 +84,38 @@ NetworkAddressTest::TestWildcard()
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
NetworkAddressTest::TestNullAddr()
|
||||
{
|
||||
BNetworkAddress nullAddr(AF_INET, NULL, 555);
|
||||
CPPUNIT_ASSERT(nullAddr.InitCheck() == B_OK);
|
||||
|
||||
CPPUNIT_ASSERT(nullAddr.Family() == AF_INET);
|
||||
CPPUNIT_ASSERT(nullAddr.Length() == sizeof(sockaddr_in));
|
||||
CPPUNIT_ASSERT(nullAddr.Port() == 555);
|
||||
CPPUNIT_ASSERT(!nullAddr.IsEmpty());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
NetworkAddressTest::TestSetAddressFromFamilyPort()
|
||||
{
|
||||
BString addressStr = "192.168.1.1";
|
||||
BNetworkAddress nullAddr(AF_INET, NULL, 555);
|
||||
in_addr_t inetAddress = inet_addr(addressStr.String());
|
||||
CPPUNIT_ASSERT(nullAddr.SetAddress(inetAddress) == B_OK);
|
||||
CPPUNIT_ASSERT(nullAddr.InitCheck() == B_OK);
|
||||
|
||||
CPPUNIT_ASSERT(nullAddr.Family() == AF_INET);
|
||||
CPPUNIT_ASSERT(nullAddr.Length() == sizeof(sockaddr_in));
|
||||
|
||||
sockaddr_in& sin = (sockaddr_in&)nullAddr.SockAddr();
|
||||
CPPUNIT_ASSERT(addressStr == inet_ntoa(sin.sin_addr));
|
||||
CPPUNIT_ASSERT(nullAddr.Port() == 555);
|
||||
CPPUNIT_ASSERT(!nullAddr.IsEmpty());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
NetworkAddressTest::TestIsLocal()
|
||||
{
|
||||
@@ -131,6 +164,11 @@ NetworkAddressTest::AddTests(BTestSuite& parent)
|
||||
"NetworkAddressTest::TestSetTo", &NetworkAddressTest::TestSetTo));
|
||||
suite.addTest(new CppUnit::TestCaller<NetworkAddressTest>(
|
||||
"NetworkAddressTest::TestWildcard", &NetworkAddressTest::TestWildcard));
|
||||
suite.addTest(new CppUnit::TestCaller<NetworkAddressTest>(
|
||||
"NetworkAddressTest::TestNullAddr", &NetworkAddressTest::TestNullAddr));
|
||||
suite.addTest(new CppUnit::TestCaller<NetworkAddressTest>(
|
||||
"NetworkAddressTest::TestSetAddressFromFamilyPort",
|
||||
&NetworkAddressTest::TestSetAddressFromFamilyPort));
|
||||
suite.addTest(new CppUnit::TestCaller<NetworkAddressTest>(
|
||||
"NetworkAddressTest::TestIsLocal", &NetworkAddressTest::TestIsLocal));
|
||||
suite.addTest(new CppUnit::TestCaller<NetworkAddressTest>(
|
||||
|
||||
@@ -18,6 +18,8 @@ public:
|
||||
void TestUnset();
|
||||
void TestSetTo();
|
||||
void TestWildcard();
|
||||
void TestNullAddr();
|
||||
void TestSetAddressFromFamilyPort();
|
||||
void TestIsLocal();
|
||||
void TestFlatten();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user