X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacket.test.cc;h=1684a88798c26fcf8739df21be5a98d4a8666872;hb=8db732cfb7203fbad3ffc6bddc43346af7411b46;hp=72e05696beb14cb70471e967d41ecdf2ccce921b;hpb=84f14a42f9993e186c7897ce0db021300e0a2d48;p=senf.git diff --git a/senf/Packets/Packet.test.cc b/senf/Packets/Packet.test.cc index 72e0569..1684a88 100644 --- a/senf/Packets/Packet.test.cc +++ b/senf/Packets/Packet.test.cc @@ -178,8 +178,18 @@ SENF_AUTO_UNIT_TEST(packet) BOOST_CHECK( packet.first() == packet ); BOOST_CHECK( packet.last() == packet.next() ); + BOOST_CHECK( ! packet.is_shared() ); + { + senf::Packet p2 (packet); + BOOST_CHECK( packet.is_shared() ); + BOOST_CHECK( p2.is_shared() ); + } + BOOST_CHECK( ! packet.is_shared() ); + senf::Packet p2 (packet.next()); BOOST_CHECK( p2 ); + BOOST_CHECK( packet.is_shared() ); + BOOST_CHECK( p2.is_shared() ); packet.parseNextAs(); BOOST_CHECK_EQUAL( packet.size(), 12u ); BOOST_CHECK_EQUAL( packet.next().size(), 8u ); @@ -188,6 +198,7 @@ SENF_AUTO_UNIT_TEST(packet) BOOST_CHECK( packet.next().as() ); p2 = packet.next().clone(); + BOOST_CHECK( ! packet.is_shared() ); BOOST_REQUIRE( p2 ); packet.next().append( p2 ); BOOST_REQUIRE( packet.next().next() ); @@ -338,14 +349,17 @@ SENF_AUTO_UNIT_TEST(packetAnnotation) BOOST_CHECK_EQUAL( p2.annotation().s, "dead beef" ); BOOST_CHECK_EQUAL( p2.annotation().i, 0x12345678 ); + p2.clearAnnotations(); + BOOST_CHECK_EQUAL( p2.annotation().s, "empty" ); + BOOST_CHECK_EQUAL( p2.annotation().i, -1 ); + BOOST_CHECK_EQUAL( p2.annotation().value, 0 ); + BOOST_CHECK( Reg::lookup() >= 0 ); BOOST_CHECK( Reg::lookup() < 0 ); BOOST_CHECK( Reg::lookup() < 0 ); BOOST_CHECK( Reg::lookup() < 0 ); -#ifdef SENF_DEBUG std::stringstream ss; - senf::dumpPacketAnnotationRegistry(ss); BOOST_CHECK_EQUAL( ss.str(), @@ -356,7 +370,6 @@ SENF_AUTO_UNIT_TEST(packetAnnotation) "(anonymous namespace)::ComplexEmptyAnnotation no yes 1\n" "(anonymous namespace)::IntAnnotation yes no 4\n" "(anonymous namespace)::LargeAnnotation no no 32\n" ); -#endif } #ifdef COMPILE_CHECK