X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIpV6Packet.test.cc;h=f603c2bc77e4717d76a29043affe4f0a68cb25f8;hb=f13c1275e48e97dceb7de7925793a4c69a5aeb61;hp=bcfcbb76127bfc7fc9b5599b15035a5b827846ce;hpb=9357448dc66bc9acfd3bd8db423deb75bcd6a2c4;p=senf.git diff --git a/Packets/DefaultBundle/IpV6Packet.test.cc b/Packets/DefaultBundle/IpV6Packet.test.cc index bcfcbb7..f603c2b 100644 --- a/Packets/DefaultBundle/IpV6Packet.test.cc +++ b/Packets/DefaultBundle/IpV6Packet.test.cc @@ -27,6 +27,7 @@ // Custom includes #include "IpV6Packet.hh" #include "Socket/INetAddressing.hh" +#include "Packets/DataPacket.hh" #include #include @@ -34,32 +35,6 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -using namespace senf; - -BOOST_AUTO_UNIT_TEST(ipV6Packet_parser) -{ - unsigned char data[] = { 0x60, 0x12, 0x20, 0x30, - 0x01, 0x02, 0x03, 0x04, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f }; - - typedef unsigned char * iterator; - Parse_IpV6 p (data); - - BOOST_CHECK_EQUAL( unsigned(p.version()), 0x06u ); - BOOST_CHECK_EQUAL( unsigned(p.trafficClass()), 0x01u ); - BOOST_CHECK_EQUAL( unsigned(p.flowLabel()), 0x22030u ); - BOOST_CHECK_EQUAL( unsigned(p.length()), 0x0102u ); - BOOST_CHECK_EQUAL( unsigned(p.nextHeader()), 0x03u ); - BOOST_CHECK_EQUAL( unsigned(p.hopLimit()), 0x04u ); - BOOST_CHECK_EQUAL( INet6Address(p.source().range()).address() , - "1011:1213:1415:1617:1819:1a1b:1c1d:1e1f" ); - BOOST_CHECK_EQUAL( INet6Address(p.destination().range()).address() , - "2021:2223:2425:2627:2829:2a2b:2c2d:2e2f" ); -} - BOOST_AUTO_UNIT_TEST(ipV6Packet_packet) { unsigned char data[] = { 0x60, 0x12, 0x20, 0x30, @@ -67,25 +42,26 @@ BOOST_AUTO_UNIT_TEST(ipV6Packet_packet) 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f }; + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, + 0xff }; - IpV6Packet::ptr p (Packet::create(data, data+sizeof(data))); + senf::IpV6Packet p (senf::IpV6Packet::create(data)); - BOOST_CHECK_EQUAL( unsigned(p->version()), 0x06u ); - BOOST_CHECK_EQUAL( unsigned(p->trafficClass()), 0x01u ); - BOOST_CHECK_EQUAL( unsigned(p->flowLabel()), 0x22030u ); - BOOST_CHECK_EQUAL( unsigned(p->length()), 0x0102u ); - BOOST_CHECK_EQUAL( unsigned(p->nextHeader()), 0x03u ); - BOOST_CHECK_EQUAL( unsigned(p->hopLimit()), 0x04u ); - BOOST_CHECK_EQUAL( INet6Address(p->source().range()).address() , + BOOST_CHECK_EQUAL( p->version(), 0x06u ); + BOOST_CHECK_EQUAL( p->trafficClass(), 0x01u ); + BOOST_CHECK_EQUAL( p->flowLabel(), 0x22030u ); + BOOST_CHECK_EQUAL( p->length(), 0x0102u ); + BOOST_CHECK_EQUAL( p->nextHeader(), 0x03u ); + BOOST_CHECK_EQUAL( p->hopLimit(), 0x04u ); + BOOST_CHECK_EQUAL( senf::INet6Address(p->source()).address() , "1011:1213:1415:1617:1819:1a1b:1c1d:1e1f" ); - BOOST_CHECK_EQUAL( INet6Address(p->destination().range()).address() , + BOOST_CHECK_EQUAL( senf::INet6Address(p->destination()).address() , "2021:2223:2425:2627:2829:2a2b:2c2d:2e2f" ); - BOOST_CHECK( p->next() ); - BOOST_CHECK( p->next()->is() ); - BOOST_CHECK_EQUAL( p->next()->size(), 0u ); + BOOST_CHECK( p.next() ); + BOOST_CHECK( p.next().is() ); + BOOST_CHECK_EQUAL( p.next().size(), 1u ); } ///////////////////////////////cc.e//////////////////////////////////////// @@ -98,4 +74,6 @@ BOOST_AUTO_UNIT_TEST(ipV6Packet_packet) // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: