Update of /cvsroot/cppunit/cppunit2/src/opentest
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1336/src/opentest
Modified Files:
serializer.cpp
Log Message:
* added unit test for Packets::discardFirstMessage() and fixed bug in Packets.
Index: serializer.cpp
===================================================================
RCS file: /cvsroot/cppunit/cppunit2/src/opentest/serializer.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** serializer.cpp 1 Feb 2006 18:26:17 -0000 1.13
--- serializer.cpp 10 Mar 2006 21:28:38 -0000 1.14
***************
*** 4,7 ****
--- 4,8 ----
// @todo Packets : should assumes packets end at the end of the current message when reading...
+ // @todo Packets::discardFirstMessage(), needs to actually free some memory...
***************
*** 110,113 ****
--- 111,116 ----
Packets::discardFirstMessage()
{
+ messages_.pop_front();
+
//Packet *current = packetsHead_;
//while ( current != writePos_.packet_ )
***************
*** 196,209 ****
const PacketPos &end ) const
{
Pos dist = 0;
- for ( Packet *current = begin.packet_; current != end.packet_; current = current->next_ )
- dist += current->length();
if ( begin.packet_ != end.packet_ )
{
! dist += begin.packet_->end_ - begin.currentData_;
dist += end.offset();
}
else
dist += end.currentData_ - begin.currentData_;
return dist;
}
--- 199,216 ----
const PacketPos &end ) const
{
+ CPPTL_ASSERT_MESSAGE( begin && end, "can only compute distance() of valid PacketPos" );
+
Pos dist = 0;
if ( begin.packet_ != end.packet_ )
{
! dist += begin.availableUntilEnd();
! for ( Packet *current = begin.packet_->next_; current != end.packet_; current = current->next_ )
! dist += current->length();
dist += end.offset();
}
else
+ {
dist += end.currentData_ - begin.currentData_;
+ }
return dist;
}
|