bug 217: yet another testcase: make sure we handle degenerate testcases with tags which refer to non-existant data.
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Sat, 21 Jun 2008 10:30:47 -0700
changeset 3301 60edfd1060ff
parent 3300 c8011a2a0c60
child 3302 4bd2a5ae8d03
bug 217: yet another testcase: make sure we handle degenerate testcases with tags which refer to non-existant data.
src/common/packet.cc
src/common/tag-list.cc
--- a/src/common/packet.cc	Sat Jun 21 08:55:04 2008 -0700
+++ b/src/common/packet.cc	Sat Jun 21 10:30:47 2008 -0700
@@ -904,6 +904,18 @@
     tmp->AddTag (ATestTag<20> ());
     CHECK (tmp, 0, E (20, 0, 0));
   }
+  {
+    Ptr<Packet> tmp = Create<Packet> (1000);
+    tmp->AddTag (ATestTag<20> ());
+    CHECK (tmp, 1, E (20, 0, 1000));
+    tmp->RemoveAtStart (1000);
+    CHECK (tmp, 0,  E (0,0,0));
+    Ptr<Packet> a = Create<Packet> (10);
+    a->AddTag (ATestTag<10> ());
+    CHECK (a, 1, E (10, 0, 10));
+    tmp->AddAtEnd (a);
+    CHECK (tmp, 1, E (10, 0, 10));
+  }
   
 
   return result;
--- a/src/common/tag-list.cc	Sat Jun 21 08:55:04 2008 -0700
+++ b/src/common/tag-list.cc	Sat Jun 21 10:30:47 2008 -0700
@@ -281,7 +281,7 @@
       item.start += adjustment;
       item.end += adjustment;
 
-      if (item.start > appendOffset)
+      if (item.start >= appendOffset)
 	{
 	  continue;
 	}
@@ -315,7 +315,7 @@
       item.start += adjustment;
       item.end += adjustment;
 
-      if (item.end < prependOffset)
+      if (item.end <= prependOffset)
 	{
 	  continue;
 	}