X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketParser.test.cc;h=0a120b9f8870bbd37e982477a20f08c684b11efa;hb=fd3a0e8ac95d1158e9ea661ddf9187b67c70169f;hp=8be052493ca97b9bd746c023519a2a0ac927d1bf;hpb=ab243554f940af9f873e1a920d0a6b7886c6f5cf;p=senf.git diff --git a/Packets/PacketParser.test.cc b/Packets/PacketParser.test.cc index 8be0524..0a120b9 100644 --- a/Packets/PacketParser.test.cc +++ b/Packets/PacketParser.test.cc @@ -1,6 +1,8 @@ -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// $Id$ +// +// 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 @@ -19,7 +21,7 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief PacketParser.test unit tests */ + \brief PacketParser unit tests */ //#include "PacketParser.test.hh" //#include "PacketParser.test.ih" @@ -27,7 +29,7 @@ // Custom includes #include "Packets.hh" -#include +#include "../Utils/auto_unit_test.hh" #include #define prefix_ @@ -40,7 +42,7 @@ namespace { { # include SENF_FIXED_PARSER() SENF_PARSER_FINALIZE(SimpleParser); - + using senf::PacketParserBase::check; using senf::PacketParserBase::validate; }; @@ -49,8 +51,8 @@ namespace { { # include SENF_FIXED_PARSER() - SENF_PARSER_FIELD( name, senf::Parse_UInt16 ); - SENF_PARSER_FIELD( id, senf::Parse_Int32 ); + SENF_PARSER_FIELD( name, senf::UInt16Parser ); + SENF_PARSER_FIELD( id, senf::Int32Parser ); SENF_PARSER_FINALIZE(FooParser); }; @@ -59,8 +61,8 @@ namespace { { # include SENF_PARSER() - SENF_PARSER_FIELD( name, senf::Parse_UInt16 ); - SENF_PARSER_FIELD( id, senf::Parse_Int32 ); + SENF_PARSER_FIELD( name, senf::UInt16Parser ); + SENF_PARSER_FIELD( id, senf::Int32Parser ); SENF_PARSER_FINALIZE(BarParser); }; @@ -68,20 +70,21 @@ namespace { BOOST_AUTO_UNIT_TEST(packetParserBase) { - senf::PacketInterpreter::ptr pi (senf::PacketInterpreter::create(6u)); + senf::PacketInterpreter::ptr pi (senf::PacketInterpreter::create( + senf::PacketInterpreterBase::size_type(6u))); SimpleParser p (pi->data().begin(),&pi->data()); BOOST_CHECK( pi->data().begin() == p.i() ); BOOST_CHECK( p.check(6u) ); BOOST_CHECK( ! p.check(7u) ); - BOOST_CHECK_NO_THROW( p.validate(6u) ); + SENF_CHECK_NO_THROW( p.validate(6u) ); BOOST_CHECK_THROW( p.validate(7u), senf::TruncatedPacketException ); // ?? Why the heck do I need the +0? I get an 'undefined symbol FooParser::fixed_bytes' // otherwise ... BOOST_CHECK_EQUAL( FooParser::fixed_bytes+0, 6u ); BOOST_CHECK_EQUAL( BarParser(pi->data().begin(),&pi->data()).bytes(), 6u ); - BOOST_CHECK_EQUAL( senf::bytes(senf::Parse_UInt16(pi->data().begin(),&pi->data())), 2u ); + BOOST_CHECK_EQUAL( senf::bytes(senf::UInt16Parser(pi->data().begin(),&pi->data())), 2u ); BOOST_CHECK_EQUAL( senf::bytes(FooParser(pi->data().begin(),&pi->data())), 6u ); BOOST_CHECK_EQUAL( senf::bytes(BarParser(pi->data().begin(),&pi->data())), 6u ); @@ -89,31 +92,10 @@ BOOST_AUTO_UNIT_TEST(packetParserBase) BOOST_CHECK_EQUAL( senf::init_bytes::value, 6u ); } -BOOST_AUTO_UNIT_TEST(safePacketParser) -{ - senf::PacketInterpreter::ptr pi (senf::PacketInterpreter::create(6u)); - senf::SafePacketParser p; - - BOOST_CHECK( !p ); - - p = senf::Parse_UInt16(pi->data().begin(),&pi->data()); - - BOOST_CHECK( p ); - (*p) = 0x1234u; - - BOOST_CHECK_EQUAL( (*p), 0x1234u ); - BOOST_CHECK_EQUAL( p->data()[0], 0x12u ); - - p->data().resize(1024u); - BOOST_CHECK_EQUAL( (*p), 0x1234u ); - (*p) = 0x2345u; - BOOST_CHECK_EQUAL( p->data()[0], 0x23u ); -} - ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ - + // Local Variables: // mode: c++ // fill-column: 100