X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketInterpreter.test.cc;h=8e8d8c29b94ac32ff8faa94cee0a924737877b3d;hb=5443435c4c2b6e4386c5334b5b8358273f2bae93;hp=1c1fdd5941f1fdeb171ef4172f695b627730fddf;hpb=6116cb96ea7bdcb42b7d12165a05fcbe0687226d;p=senf.git diff --git a/Packets/PacketInterpreter.test.cc b/Packets/PacketInterpreter.test.cc index 1c1fdd5..8e8d8c2 100644 --- a/Packets/PacketInterpreter.test.cc +++ b/Packets/PacketInterpreter.test.cc @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -21,7 +21,7 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief PacketInterpreter.test unit tests */ + \brief PacketInterpreter unit tests */ //#include "PacketInterpreter.test.hh" //#include "PacketInterpreter.test.ih" @@ -48,11 +48,11 @@ BOOST_AUTO_UNIT_TEST(packetInterpreterBase) { senf::PacketInterpreter::ptr pi2 (senf::PacketInterpreter::create()); senf::PacketInterpreter::ptr pi1 (senf::PacketInterpreter::createBefore(pi2)); - + pi2->data().insert(pi2->data().begin(),0x02); BOOST_CHECK_EQUAL( pi1->data().size(), 1u ); BOOST_CHECK_EQUAL( pi2->data().size(), 1u ); - + senf::PacketInterpreter::ptr pi3 (pi2->parseNextAs()); BOOST_REQUIRE( pi3 ); BOOST_CHECK( pi2 == pi1->next() ); @@ -65,7 +65,7 @@ BOOST_AUTO_UNIT_TEST(packetInterpreterBase) BOOST_CHECK( pi2->as() == pi2 ); BOOST_CHECK( pi2->parseNextAs(senf::PacketInterpreter::factory()) ); BOOST_CHECK( pi2->typeId() == pi1->typeId() ); - + pi1->data().insert(pi1->data().begin(),2,0x01u); BOOST_CHECK_EQUAL( pi1->data().size(), 3u ); BOOST_CHECK_EQUAL( pi2->data().size(), 1u ); @@ -80,7 +80,7 @@ BOOST_AUTO_UNIT_TEST(packetInterpreterBase) BOOST_CHECK_EQUAL( pi2->data().size(), 1u ); BOOST_CHECK_EQUAL( pi2b->data().size(), 2u ); - BOOST_CHECK_EQUAL( pi1->data().size(), pi1->nextPacketRange()->size() ); + BOOST_CHECK_EQUAL( pi1->data().size(), unsigned(pi1->nextPacketRange()->size()) ); pi1->append(pi2b); BOOST_CHECK_EQUAL( pi1->data().size(), 2u ); BOOST_REQUIRE( pi1->next() ); @@ -91,7 +91,7 @@ BOOST_AUTO_UNIT_TEST(packetInterpreterBase) } namespace { - struct OtherPacket + struct OtherPacket : public senf::PacketTypeBase, public senf::PacketTypeMixin { @@ -105,16 +105,17 @@ namespace { BOOST_AUTO_UNIT_TEST(packetInterpreter) { + typedef senf::PacketInterpreterBase::size_type size_type; { - BOOST_CHECK_THROW( senf::PacketInterpreter::create(4u), + BOOST_CHECK_THROW( senf::PacketInterpreter::create(size_type(4u)), senf::TruncatedPacketException ); senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(12u)); - + (senf::PacketInterpreter::create(size_type(12u))); + BOOST_CHECK_EQUAL( p->data().size(), 12u ); BOOST_CHECK_EQUAL( std::distance(p->data().begin(),p->data().end()), 12 ); BOOST_CHECK_EQUAL( p->data()[0], 0x01u ); - + senf::PacketInterpreter::ptr p2 (p->parseNextAs()); BOOST_CHECK_EQUAL( p2->data().size(), 4u ); @@ -128,10 +129,10 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter) } { - BOOST_CHECK_NO_THROW( - senf::PacketInterpreter::create(4u,senf::PacketInterpreterBase::noinit)); + SENF_CHECK_NO_THROW( + senf::PacketInterpreter::create(4u,senf::noinit)); senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(senf::PacketInterpreterBase::noinit)); + (senf::PacketInterpreter::create(senf::noinit)); BOOST_CHECK_EQUAL( p->data().size(), 0u ); } @@ -147,7 +148,7 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter) { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(12u)); + (senf::PacketInterpreter::create(size_type(12u))); senf::PacketInterpreter::ptr p2 (senf::PacketInterpreter::createAfter(p)); BOOST_CHECK_EQUAL( p2->data().size(), 0u ); @@ -159,31 +160,31 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter) { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(12u)); + (senf::PacketInterpreter::create(size_type(12u))); senf::PacketInterpreter::ptr p2 (senf::PacketInterpreter::createAfter( - p,senf::PacketInterpreterBase::noinit)); + p,senf::noinit)); BOOST_CHECK_EQUAL( p2->data().size(), 0u ); BOOST_CHECK_EQUAL( p->data().size(), 8u ); } - + { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(12u)); + (senf::PacketInterpreter::create(size_type(12u))); senf::PacketInterpreter::ptr p2 - (senf::PacketInterpreter::createAfter(p,10u)); + (senf::PacketInterpreter::createAfter(p, size_type(10u))); BOOST_CHECK_EQUAL( p2->data().size(), 10u ); BOOST_CHECK_EQUAL( p->data().size(), 18u ); BOOST_CHECK_EQUAL( p2->data()[0], 0x01u ); - BOOST_CHECK_THROW( senf::PacketInterpreter::createAfter(p,4u), + BOOST_CHECK_THROW( senf::PacketInterpreter::createAfter(p, size_type(4u)), senf::TruncatedPacketException ); - BOOST_CHECK_NO_THROW( senf::PacketInterpreter::createAfter( - p,4u,senf::PacketInterpreterBase::noinit) ); + SENF_CHECK_NO_THROW( senf::PacketInterpreter::createAfter( + p,4u,senf::noinit) ); } { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(10u)); + (senf::PacketInterpreter::create(size_type(10u))); senf::PacketInterpreter::byte data[] = { 0x01, 0x02, 0x03, 0x04 }; senf::PacketInterpreter::ptr p2 (senf::PacketInterpreter::createAfter(p,data)); @@ -195,7 +196,7 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter) { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(10u)); + (senf::PacketInterpreter::create(size_type(10u))); senf::PacketInterpreter::ptr p2 (senf::PacketInterpreter::createBefore(p)); @@ -204,18 +205,20 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter) senf::PacketInterpreter::ptr p3 (senf::PacketInterpreter::createBefore( - p,senf::PacketInterpreterBase::noinit)); - + p,senf::noinit)); + BOOST_CHECK_EQUAL( p3->data().size(), 10u ); } - + } -// fields() ist tested in DefaultBundle/EthernetPacket.test.cc +// fields() is tested in DefaultBundle/EthernetPacket.test.cc // initSize() and initHeadSize() are already tested indirectly above BOOST_AUTO_UNIT_TEST(packetInterpreter_factory) { + typedef senf::PacketInterpreterBase::size_type size_type; + senf::PacketInterpreterBase::byte data[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; senf::PacketInterpreterBase::factory_t factory ( senf::PacketInterpreter::factory()); @@ -225,10 +228,10 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter_factory) BOOST_CHECK( factory->create()->is() ); BOOST_CHECK_EQUAL( factory->create()->data().size(), 8u ); - BOOST_CHECK_EQUAL( factory->create(senf::PacketInterpreterBase::noinit)->data().size(), 0u ); - BOOST_CHECK_EQUAL( factory->create(12u)->data().size(), 12u ); - BOOST_CHECK_EQUAL( - factory->create(4u, senf::PacketInterpreterBase::noinit)->data().size(), 4u ); + BOOST_CHECK_EQUAL( factory->create(senf::noinit)->data().size(), 0u ); + BOOST_CHECK_EQUAL( factory->create(size_type(12u))->data().size(), 12u ); + BOOST_CHECK_EQUAL( + factory->create(4u, senf::noinit)->data().size(), 4u ); BOOST_CHECK_EQUAL( factory->create(data)->data().size(), 6u ); { @@ -244,17 +247,17 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter_factory) BOOST_CHECK_EQUAL( p->data().size(), 8u ); BOOST_CHECK( ! p->next()->next() ); - BOOST_CHECK_EQUAL( - factory->createAfter(p, senf::PacketInterpreterBase::noinit)->data().size(), 0u ); + BOOST_CHECK_EQUAL( + factory->createAfter(p, senf::noinit)->data().size(), 0u ); BOOST_CHECK_EQUAL( p->data().size(), 0u ); BOOST_CHECK( ! p->next()->next() ); - BOOST_CHECK_EQUAL( factory->createAfter(p,12u)->data().size(), 12u ); + BOOST_CHECK_EQUAL( factory->createAfter(p, size_type(12u))->data().size(), 12u ); BOOST_CHECK_EQUAL( p->data().size(), 12u ); BOOST_CHECK( ! p->next()->next() ); - BOOST_CHECK_EQUAL( - factory->createAfter(p,4u, senf::PacketInterpreterBase::noinit)->data().size(), 4u ); + BOOST_CHECK_EQUAL( + factory->createAfter(p,4u, senf::noinit)->data().size(), 4u ); BOOST_CHECK_EQUAL( p->data().size(), 4u ); BOOST_CHECK( ! p->next()->next() ); @@ -265,15 +268,15 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter_factory) { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(4u)); - + (senf::PacketInterpreter::create(size_type(4u))); + BOOST_CHECK_EQUAL( factory->createBefore(p)->data().size(), 12u ); BOOST_REQUIRE( p->prev() ); BOOST_CHECK( ! p->prev()->prev() ); BOOST_CHECK_EQUAL( p->prev()->data().size(), 12u ); - - BOOST_CHECK_EQUAL( - factory->createBefore(p,senf::PacketInterpreterBase::noinit)->data().size(), 4u ); + + BOOST_CHECK_EQUAL( + factory->createBefore(p,senf::noinit)->data().size(), 4u ); BOOST_REQUIRE( p->prev() ); BOOST_CHECK( ! p->prev()->prev() ); BOOST_CHECK_EQUAL( p->prev()->data().size(), 4u ); @@ -281,12 +284,12 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter_factory) { senf::PacketInterpreter::ptr p - (senf::PacketInterpreter::create(12u)); + (senf::PacketInterpreter::create(size_type(12u))); senf::PacketInterpreterBase::ptr p2 (p->parseNextAs(factory)); BOOST_CHECK( p2->is() ); BOOST_CHECK( ! p2->is() ); - BOOST_CHECK_EQUAL( boost::size(*p2->nextPacketRange()), 4u ); + BOOST_CHECK_EQUAL( unsigned(boost::size(*p2->nextPacketRange())), 4u ); } } @@ -294,7 +297,7 @@ BOOST_AUTO_UNIT_TEST(packetInterpreter_factory) ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ - + // Local Variables: // mode: c++ // fill-column: 100