X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2F80221Bundle%2FTLVPacket.test.cc;h=8dc8df2c7b86af83115639d38544ec82f36e2005;hb=f2f5d59e83863f3b513950173baee1b6da2aee3c;hp=043a93d34de9141c14c3d50b0b7bec4345e12b8b;hpb=fb2fe88ee9a9d2a777ecaf3327d04b60479fcc8d;p=senf.git diff --git a/Packets/80221Bundle/TLVPacket.test.cc b/Packets/80221Bundle/TLVPacket.test.cc index 043a93d..8dc8df2 100644 --- a/Packets/80221Bundle/TLVPacket.test.cc +++ b/Packets/80221Bundle/TLVPacket.test.cc @@ -20,16 +20,15 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// Unit tests +/** \file + \brief TLVPacket unit tests */ //#include "TLVPacket.test.hh" //#include "TLVPacket.test.ih" // Custom includes #include "TLVPacket.hh" -#include #include "../DefaultBundle/EthernetPacket.hh" -#include #include "../../Utils/auto_unit_test.hh" #include @@ -45,7 +44,9 @@ void check_TLVPacket(GenericTLVPacket &tlvPacket, boost::uint8_t type, boost::ui { BOOST_CHECK_EQUAL( tlvPacket->type(), type ); BOOST_CHECK_EQUAL( tlvPacket->length(), length ); - BOOST_CHECK_EQUAL( tlvPacket->value().size(), length ); + BOOST_CHECK_EQUAL( tlvPacket->value().size(), int(length) ); + std::ostringstream oss (std::ostringstream::out); + SENF_CHECK_NO_THROW( tlvPacket.dump( oss)); senf::PacketData::iterator dataIterator (tlvPacket->value().begin()); for (unsigned i=0; i one byte length following 0x0A, // length (10 bytes value) 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 // value - }; + }; GenericTLVPacket tlvPacket (GenericTLVPacket::create(data)); check_TLVPacket( tlvPacket, 0x01, 0x0Au ); } @@ -82,7 +83,7 @@ BOOST_AUTO_UNIT_TEST(GenericTLVPacket_parse_packet_with_extended_length) BOOST_AUTO_UNIT_TEST(GenericTLVPacket_create_packet_with_simple_length) { - unsigned char value[] = { + unsigned char value[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 }; GenericTLVPacket tlvPacket (GenericTLVPacket::create()); @@ -91,8 +92,8 @@ BOOST_AUTO_UNIT_TEST(GenericTLVPacket_create_packet_with_simple_length) tlvPacket.finalizeThis(); check_TLVPacket( tlvPacket, 42u, 0x0Au ); - - unsigned char data[] = { + + unsigned char data[] = { 0x2a, // type 0x0A, // first bit not set, length=10 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 // value @@ -107,20 +108,21 @@ BOOST_AUTO_UNIT_TEST(GenericTLVPacket_create_packet_with_extended_length) for (unsigned i=0; imaxLengthValue( DynamicTLVLengthParser::max_value); tlvPacket->type() = 42u; tlvPacket->value( value); tlvPacket.finalizeThis(); check_TLVPacket( tlvPacket, 42u, sizeof(value) ); - - unsigned char data[] = { + + unsigned char data[] = { 0x2a, // type 0x81, // first and last bit set => one byte length following 0xff, // length (255 bytes value) 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 // first bytes of value }; - BOOST_CHECK( equal( - tlvPacket.data().begin(), + BOOST_CHECK( equal( + tlvPacket.data().begin(), boost::next( tlvPacket.data().begin(), sizeof(data)), data )); } @@ -131,11 +133,11 @@ BOOST_AUTO_UNIT_TEST(GenericTLVPacket_create_invalid_packet) GenericTLVPacket tlvPacket (GenericTLVPacket::create()); tlvPacket->type() = 42u; tlvPacket.finalizeThis(); - + unsigned char value[255]; for (unsigned i=0; ivalue( value), TLVLengthException); tlvPacket->maxLengthValue( sizeof(value)); tlvPacket->value( value); @@ -148,12 +150,12 @@ namespace { struct TestMacAddressTLVPacketParser : public BaseTLVPacketParser { - # include SENF_PARSER() - SENF_PARSER_INHERIT ( BaseTLVPacketParser ) - SENF_PARSER_VECTOR ( value, bytes(length), senf::MACAddressParser ) + # include SENF_PARSER() + SENF_PARSER_INHERIT ( BaseTLVPacketParser ); + SENF_PARSER_VECTOR ( value, bytes(length), senf::MACAddressParser ); SENF_PARSER_FINALIZE( TestMacAddressTLVPacketParser ); }; - + struct TestMacAddressTLVPacketType : public PacketTypeBase, public PacketTypeMixin @@ -164,8 +166,8 @@ namespace { using mixin::nextPacketRange; using mixin::init; using mixin::initSize; - - static void finalize(ConcretePacket p) { + + static void finalize(ConcretePacket p) { p->shrinkLength(); } }; @@ -179,8 +181,8 @@ BOOST_AUTO_UNIT_TEST(TestMacAddressTLVPacket_create) tlvPacket->value().push_back( senf::MACAddress::from_string("01:23:45:67:89:ab") ); tlvPacket->value().push_back( senf::MACAddress::from_string("cd:ef:01:23:45:67") ); tlvPacket.finalizeThis(); - - unsigned char data[] = { + + unsigned char data[] = { 0x2a, // type 0x0c, // length 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0x01, 0x23, 0x45, 0x67 // value @@ -192,7 +194,7 @@ BOOST_AUTO_UNIT_TEST(TestMacAddressTLVPacket_create) ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ - + // Local Variables: // mode: c++ // fill-column: 100