X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIpV6Extensions.test.cc;h=aa5bf452bb41cf353613c15fd1f0a90260461eb1;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=35c33f0fce549248aae4a9da0c0283f4d5657a82;hpb=9357448dc66bc9acfd3bd8db423deb75bcd6a2c4;p=senf.git diff --git a/Packets/DefaultBundle/IpV6Extensions.test.cc b/Packets/DefaultBundle/IpV6Extensions.test.cc index 35c33f0..aa5bf45 100644 --- a/Packets/DefaultBundle/IpV6Extensions.test.cc +++ b/Packets/DefaultBundle/IpV6Extensions.test.cc @@ -28,8 +28,7 @@ #include "IpV6Extensions.hh" #include "IpV6Packet.hh" #include "UDPPacket.hh" -#include "Packets/DataPacket.hh" -#include "Socket/INetAddressing.hh" +#include "Socket/Protocols/INet/INetAddressing.hh" #include #include @@ -37,22 +36,6 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -using namespace senf; - -BOOST_AUTO_UNIT_TEST(ipv6Extension_Fragment_parser) -{ - unsigned char data[] = { 59, 0, 0x10, 0x20, - 0x01, 0x02, 0x03, 0x04 }; - - typedef unsigned char * iterator; - Parse_IpV6Extension_Fragment p (data); - - BOOST_CHECK_EQUAL( unsigned(p.nextHeader()), 59u ); - BOOST_CHECK_EQUAL( unsigned(p.fragmentOffset()), 0x1020u >> 3 ); - BOOST_CHECK ( ! p.moreFragments() ); - BOOST_CHECK_EQUAL( unsigned(p.id()), 0x01020304u ); -} - BOOST_AUTO_UNIT_TEST(ipv6Extension_Fragment_packet) { // Just for the fun of it, we test a nice chain: A fragment of a fragmented UDP packet @@ -81,31 +64,33 @@ BOOST_AUTO_UNIT_TEST(ipv6Extension_Fragment_packet) 0x11, 0x12, 0x13, 0x14 }; - IpV6Packet::ptr p (Packet::create(data, data + sizeof(data))); + senf::IpV6Packet p (senf::IpV6Packet::create(data)); BOOST_CHECK_EQUAL( p->version(), 6u ); BOOST_CHECK_EQUAL( p->length(), 20u ); BOOST_CHECK_EQUAL( p->nextHeader(), 44u ); - BOOST_CHECK_EQUAL( INet6Address(p->source().range()), "2001::1" ); - BOOST_CHECK_EQUAL( INet6Address(p->destination().range()), "2001::2" ); - BOOST_CHECK( p->next()->is() ); + BOOST_CHECK_EQUAL( p->source().value(), senf::INet6Address::from_string("2001::1") ); + BOOST_CHECK_EQUAL( p->destination().value(), senf::INet6Address::from_string("2001::2") ); + BOOST_CHECK( p.next().is() ); - IpV6Extension_Fragment::ptr f (p->next()->as()); + senf::IpV6Extension_Fragment f (p.next().as()); BOOST_CHECK_EQUAL( f->nextHeader(), 17u ); BOOST_CHECK_EQUAL( f->fragmentOffset(), 160u ); BOOST_CHECK_EQUAL( f->id(), 0x01020304u ); - BOOST_CHECK( f->next()->is() ); + BOOST_CHECK( f.next().is() ); - UDPPacket::ptr u (f->next()->as()); + senf::UDPPacket u (f.next().as()); BOOST_CHECK_EQUAL( u->source(), 0x1000u ); BOOST_CHECK_EQUAL( u->destination(), 0x2000u ); BOOST_CHECK_EQUAL( u->length(), 12u ); - BOOST_CHECK( u->next()->is() ); + BOOST_CHECK( u.next().is() ); - Packet::iterator i (u->next()->begin()); - BOOST_CHECK_EQUAL( Parse_UInt32(i).value(), 0x11121314u ); + senf::DataPacket d (u.next().as()); + senf::PacketData::iterator i (u.next().data().begin()); + BOOST_CHECK_EQUAL( d.size(), 4u ); + BOOST_CHECK_EQUAL( d.data()[0], 0x11 ); } ///////////////////////////////cc.e//////////////////////////////////////// @@ -118,4 +103,6 @@ BOOST_AUTO_UNIT_TEST(ipv6Extension_Fragment_packet) // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: