* The test should now actually work, however, it welcomes KDL for now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40424 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2011-02-10 18:45:15 +00:00
parent 135d98d622
commit bc235d9650
2 changed files with 54 additions and 43 deletions

View File

@ -23,6 +23,24 @@ NetworkInterfaceTest::~NetworkInterfaceTest()
} }
void
NetworkInterfaceTest::setUp()
{
fInterface.SetTo("loopTest");
CPPUNIT_ASSERT(BNetworkRoster::Default().AddInterface(fInterface) == B_OK);
CPPUNIT_ASSERT(fInterface.CountAddresses() == 0);
// every interface has one unspec address
}
void
NetworkInterfaceTest::tearDown()
{
CPPUNIT_ASSERT(BNetworkRoster::Default().RemoveInterface(fInterface)
== B_OK);
}
void void
NetworkInterfaceTest::TestUnset() NetworkInterfaceTest::TestUnset()
{ {
@ -35,84 +53,69 @@ NetworkInterfaceTest::TestUnset()
void void
NetworkInterfaceTest::TestFindAddress() NetworkInterfaceTest::TestFindAddress()
{ {
BNetworkInterface interface("testInterface");
CPPUNIT_ASSERT(BNetworkRoster::Default().AddInterface(interface) == B_OK);
CPPUNIT_ASSERT(interface.CountAddresses() == 0);
// Add first // Add first
BNetworkInterfaceAddress first; BNetworkInterfaceAddress first;
first.SetAddress(BNetworkAddress(AF_INET, "8.8.8.8")); first.SetAddress(BNetworkAddress(AF_INET, "8.8.8.8"));
CPPUNIT_ASSERT(interface.FindAddress(first.Address()) < 0); CPPUNIT_ASSERT(fInterface.FindAddress(first.Address()) < 0);
CPPUNIT_ASSERT(interface.AddAddress(first) == B_OK); CPPUNIT_ASSERT(fInterface.AddAddress(first) == B_OK);
CPPUNIT_ASSERT(interface.FindAddress(first.Address()) == 0); CPPUNIT_ASSERT(fInterface.FindAddress(first.Address()) == 0);
// Add second // Add second
BNetworkInterfaceAddress second; BNetworkInterfaceAddress second;
second.SetAddress(BNetworkAddress(AF_INET6, "::1")); second.SetAddress(BNetworkAddress(AF_INET6, "::1"));
CPPUNIT_ASSERT(fInterface.FindAddress(second.Address()) < 0);
CPPUNIT_ASSERT(interface.FindAddress(second.Address()) < 0); CPPUNIT_ASSERT(fInterface.AddAddress(second) == B_OK);
CPPUNIT_ASSERT(interface.AddAddress(second) == B_OK); CPPUNIT_ASSERT(fInterface.FindAddress(second.Address()) >= 0);
CPPUNIT_ASSERT(interface.FindAddress(second.Address()) >= 0);
// Remove them again // Remove them again
CPPUNIT_ASSERT(interface.RemoveAddress(first) == B_OK); CPPUNIT_ASSERT(fInterface.RemoveAddress(first) == B_OK);
CPPUNIT_ASSERT(interface.FindAddress(first.Address()) < 0); CPPUNIT_ASSERT(fInterface.FindAddress(first.Address()) < 0);
CPPUNIT_ASSERT(interface.FindAddress(second.Address()) >= 0); CPPUNIT_ASSERT(fInterface.FindAddress(second.Address()) >= 0);
CPPUNIT_ASSERT(interface.RemoveAddress(second.Address()) == B_OK); CPPUNIT_ASSERT(fInterface.RemoveAddress(second.Address()) == B_OK);
CPPUNIT_ASSERT(interface.FindAddress(first.Address()) < 0); CPPUNIT_ASSERT(fInterface.FindAddress(first.Address()) < 0);
CPPUNIT_ASSERT(interface.FindAddress(second.Address()) < 0); CPPUNIT_ASSERT(fInterface.FindAddress(second.Address()) < 0);
CPPUNIT_ASSERT(BNetworkRoster::Default().RemoveInterface(interface)
== B_OK);
} }
void void
NetworkInterfaceTest::TestFindFirstAddress() NetworkInterfaceTest::TestFindFirstAddress()
{ {
BNetworkInterface interface("testInterface");
CPPUNIT_ASSERT(BNetworkRoster::Default().AddInterface(interface) == B_OK);
CPPUNIT_ASSERT(interface.CountAddresses() == 0);
// Add first // Add first
BNetworkInterfaceAddress first; BNetworkInterfaceAddress first;
first.SetAddress(BNetworkAddress(AF_INET, "8.8.8.8")); first.SetAddress(BNetworkAddress(AF_INET, "8.8.8.8"));
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET) < 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET) < 0);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET6) < 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET6) < 0);
CPPUNIT_ASSERT(interface.AddAddress(first) == B_OK); CPPUNIT_ASSERT(fInterface.AddAddress(first) == B_OK);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET) == 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET) == 0);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET6) < 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET6) < 0);
// Add second // Add second
BNetworkInterfaceAddress second; BNetworkInterfaceAddress second;
second.SetAddress(BNetworkAddress(AF_INET6, "::1")); second.SetAddress(BNetworkAddress(AF_INET6, "::1"));
CPPUNIT_ASSERT(interface.AddAddress(second) == B_OK); CPPUNIT_ASSERT(fInterface.AddAddress(second) == B_OK);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET) >= 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET) >= 0);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET6) >= 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET6) >= 0);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET) CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET)
!= interface.FindFirstAddress(AF_INET6)); != fInterface.FindFirstAddress(AF_INET6));
// Remove them again // Remove them again
CPPUNIT_ASSERT(interface.RemoveAddress(first) == B_OK); CPPUNIT_ASSERT(fInterface.RemoveAddress(first) == B_OK);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET) < 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET) < 0);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET6) >= 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET6) >= 0);
CPPUNIT_ASSERT(interface.RemoveAddress(second.Address()) == B_OK); CPPUNIT_ASSERT(fInterface.RemoveAddress(second.Address()) == B_OK);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET) < 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET) < 0);
CPPUNIT_ASSERT(interface.FindFirstAddress(AF_INET6) < 0); CPPUNIT_ASSERT(fInterface.FindFirstAddress(AF_INET6) < 0);
CPPUNIT_ASSERT(BNetworkRoster::Default().RemoveInterface(interface)
== B_OK);
} }

View File

@ -6,6 +6,8 @@
#define NETWORK_INTERFACE_TEST_H #define NETWORK_INTERFACE_TEST_H
#include <NetworkInterface.h>
#include <TestCase.h> #include <TestCase.h>
#include <TestSuite.h> #include <TestSuite.h>
@ -15,11 +17,17 @@ public:
NetworkInterfaceTest(); NetworkInterfaceTest();
virtual ~NetworkInterfaceTest(); virtual ~NetworkInterfaceTest();
virtual void setUp();
virtual void tearDown();
void TestUnset(); void TestUnset();
void TestFindAddress(); void TestFindAddress();
void TestFindFirstAddress(); void TestFindFirstAddress();
static void AddTests(BTestSuite& suite); static void AddTests(BTestSuite& suite);
private:
BNetworkInterface fInterface;
}; };