Updates test.py entries for Click, fixes Click test case, and makes Ipv4ClickRouting::GetInterfaceId() do a sanity check.
authorLalith Suresh <suresh.lalith@gmail.com>
Sun, 06 Mar 2011 21:07:02 +0000
changeset 6870 c43c01d942e3
parent 6869 691d93df56ae
child 6871 56a1da6bac51
Updates test.py entries for Click, fixes Click test case, and makes Ipv4ClickRouting::GetInterfaceId() do a sanity check.
src/click/model/ipv4-click-routing.cc
src/click/test/ipv4-click-routing-test.cc
--- a/src/click/model/ipv4-click-routing.cc	Sun Mar 06 20:04:16 2011 +0000
+++ b/src/click/model/ipv4-click-routing.cc	Sun Mar 06 21:07:02 2011 +0000
@@ -189,6 +189,15 @@
         }
     }
 
+  // This protects against a possible inconsistency of having
+  // more interfaces defined in the Click graph
+  // for a Click node than are defined for it in
+  // the simulation script
+  if (retval >= (int) m_ipv4->GetNInterfaces ())
+    {
+      return -1;
+    }
+
   return retval;
 }
 
--- a/src/click/test/ipv4-click-routing-test.cc	Sun Mar 06 20:04:16 2011 +0000
+++ b/src/click/test/ipv4-click-routing-test.cc	Sun Mar 06 21:07:02 2011 +0000
@@ -47,7 +47,7 @@
   // Setup Click instance
   Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> ();
   Ptr<Ipv4ClickRouting> click = CreateObject<Ipv4ClickRouting> ();
-  click->SetClickFile ("examples/click/nsclick-lan-single-interface.click");
+  click->SetClickFile ("src/click/examples/nsclick-lan-single-interface.click");
   ipv4->SetRoutingProtocol (click);
 }
 
@@ -200,7 +200,7 @@
   NS_TEST_EXPECT_MSG_EQ (ret, 1, "eth0 is ready");
 
   ret = simclick_sim_command (click->m_simNode, SIMCLICK_IF_READY, 2);
-  NS_TEST_EXPECT_MSG_EQ (ret, -1, "eth1 does not exist, so return -1");
+  NS_TEST_EXPECT_MSG_EQ (ret, 0, "eth1 does not exist, so return 0");
 
   delete [] buf;
   ret = 1;