diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-10-19 23:14:13 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-10-19 23:14:13 +0900 |
| commit | 74e5aa0ace24e70a454f19fc0f032d0f30574000 (patch) | |
| tree | 31dfe01f29f78948727ddee6a9c78ed4213c14fc /test/UtilTest.cc | |
| parent | 2b68f72fa662601db891706abb2a2e2df7e7edd8 (diff) | |
Rewritten util::inSameCidrBlock() to support IPv6 address.
We also introduced union sockaddr_union in a2netcompat.h.
Diffstat (limited to 'test/UtilTest.cc')
| -rw-r--r-- | test/UtilTest.cc | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/test/UtilTest.cc b/test/UtilTest.cc index d11c61fa..74fc3101 100644 --- a/test/UtilTest.cc +++ b/test/UtilTest.cc @@ -15,6 +15,7 @@ #include "array_fun.h" #include "BufferedFile.h" #include "TestUtil.h" +#include "SocketCore.h" namespace aria2 { @@ -70,7 +71,6 @@ class UtilTest:public CppUnit::TestFixture { CPPUNIT_TEST(testIsNumericHost); CPPUNIT_TEST(testDetectDirTraversal); CPPUNIT_TEST(testEscapePath); - CPPUNIT_TEST(testGetCidrPrefix); CPPUNIT_TEST(testInSameCidrBlock); CPPUNIT_TEST(testIsUtf8String); CPPUNIT_TEST(testNextParam); @@ -130,7 +130,6 @@ public: void testIsNumericHost(); void testDetectDirTraversal(); void testEscapePath(); - void testGetCidrPrefix(); void testInSameCidrBlock(); void testIsUtf8String(); void testNextParam(); @@ -1192,34 +1191,20 @@ void UtilTest::testEscapePath() #endif // !__MINGW32__ } -void UtilTest::testGetCidrPrefix() +void UtilTest::testInSameCidrBlock() { - struct in_addr in; - CPPUNIT_ASSERT(util::getCidrPrefix(in, "192.168.0.1", 16)); - CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.0"), std::string(inet_ntoa(in))); - - CPPUNIT_ASSERT(util::getCidrPrefix(in, "192.168.255.255", 17)); - CPPUNIT_ASSERT_EQUAL(std::string("192.168.128.0"),std::string(inet_ntoa(in))); - - CPPUNIT_ASSERT(util::getCidrPrefix(in, "192.168.128.1", 16)); - CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.0"), std::string(inet_ntoa(in))); + CPPUNIT_ASSERT(util::inSameCidrBlock("192.168.128.1", "192.168.0.1", 16)); + CPPUNIT_ASSERT(!util::inSameCidrBlock("192.168.128.1", "192.168.0.1", 17)); - CPPUNIT_ASSERT(util::getCidrPrefix(in, "192.168.0.1", 32)); - CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), std::string(inet_ntoa(in))); + CPPUNIT_ASSERT(util::inSameCidrBlock("192.168.0.1", "192.168.0.1", 32)); + CPPUNIT_ASSERT(!util::inSameCidrBlock("192.168.0.1", "192.168.0.0", 32)); - CPPUNIT_ASSERT(util::getCidrPrefix(in, "192.168.0.1", 0)); - CPPUNIT_ASSERT_EQUAL(std::string("0.0.0.0"), std::string(inet_ntoa(in))); + CPPUNIT_ASSERT(util::inSameCidrBlock("192.168.0.1", "10.0.0.1", 0)); - CPPUNIT_ASSERT(util::getCidrPrefix(in, "10.10.1.44", 27)); - CPPUNIT_ASSERT_EQUAL(std::string("10.10.1.32"), std::string(inet_ntoa(in))); + CPPUNIT_ASSERT(util::inSameCidrBlock("2001:db8::2:1", "2001:db0::2:2", 28)); + CPPUNIT_ASSERT(!util::inSameCidrBlock("2001:db8::2:1", "2001:db0::2:2", 29)); - CPPUNIT_ASSERT(!util::getCidrPrefix(in, "::1", 32)); -} - -void UtilTest::testInSameCidrBlock() -{ - CPPUNIT_ASSERT(util::inSameCidrBlock("192.168.128.1", "192.168.0.1", 16)); - CPPUNIT_ASSERT(!util::inSameCidrBlock("192.168.128.1", "192.168.0.1", 17)); + CPPUNIT_ASSERT(!util::inSameCidrBlock("2001:db8::2:1", "192.168.0.1", 8)); } void UtilTest::testIsUtf8String() |
