model+NFD: Re-enable tracing for sentInterests/Data/Nacks
Change-Id: If7329004b82afd66a09fcf35d1e938006183b34b
diff --git a/tests/unit-tests/model/ndn-net-device-face.t.cpp b/tests/unit-tests/model/ndn-net-device-face.t.cpp
index 5269ed9..c33afdb 100644
--- a/tests/unit-tests/model/ndn-net-device-face.t.cpp
+++ b/tests/unit-tests/model/ndn-net-device-face.t.cpp
@@ -27,7 +27,43 @@
BOOST_FIXTURE_TEST_SUITE(ModelNdnNetDeviceFace, ScenarioHelperWithCleanupFixture)
-BOOST_AUTO_TEST_CASE(Basic)
+class FixtureWithTracers : public ScenarioHelperWithCleanupFixture
+{
+public:
+ void
+ InInterests(const Interest&, const Face& face)
+ {
+ nInInterests[boost::lexical_cast<std::string>(face)] += 1;
+ }
+
+ void
+ OutInterests(const Interest&, const Face& face)
+ {
+ nOutInterests[boost::lexical_cast<std::string>(face)] += 1;
+ }
+
+ void
+ InData(const Data&, const Face& face)
+ {
+ nInData[boost::lexical_cast<std::string>(face)] += 1;
+ }
+
+ void
+ OutData(const Data&, const Face& face)
+ {
+ nOutData[boost::lexical_cast<std::string>(face)] += 1;
+ }
+
+public:
+ std::map<std::string, uint32_t> nInInterests;
+ std::map<std::string, uint32_t> nOutInterests;
+ std::map<std::string, uint32_t> nInData;
+ std::map<std::string, uint32_t> nOutData;
+
+ // TODO add NACKs
+};
+
+BOOST_FIXTURE_TEST_CASE(Basic, FixtureWithTracers)
{
Config::SetDefault("ns3::PointToPointNetDevice::DataRate", StringValue("10Mbps"));
Config::SetDefault("ns3::PointToPointChannel::Delay", StringValue("10ms"));
@@ -55,14 +91,44 @@
"0s", "100s"}
});
+ Config::ConnectWithoutContext("/NodeList/*/$ns3::ndn::L3Protocol/InInterests", MakeCallback(&FixtureWithTracers::InInterests, this));
+ Config::ConnectWithoutContext("/NodeList/*/$ns3::ndn::L3Protocol/OutInterests", MakeCallback(&FixtureWithTracers::OutInterests, this));
+
+ Config::ConnectWithoutContext("/NodeList/*/$ns3::ndn::L3Protocol/InData", MakeCallback(&FixtureWithTracers::InData, this));
+ Config::ConnectWithoutContext("/NodeList/*/$ns3::ndn::L3Protocol/OutData", MakeCallback(&FixtureWithTracers::OutData, this));
+
+ // TODO: implement Nack testing
+ // Config::Connect("/NodeList/*/InNacks", ...);
+ // Config::Connect("/NodeList/*/OutNacks", ...);
+
Simulator::Stop(Seconds(20.001));
Simulator::Run();
+ BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInInterests, 0);
BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nOutInterests, 100);
BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInData, 100);
+ BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nOutData, 0);
+ BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nInNacks, 0);
+ BOOST_CHECK_EQUAL(getFace("1", "2")->getCounters().nOutNacks, 0);
+
+ BOOST_CHECK_EQUAL(nInInterests [boost::lexical_cast<std::string>(*getFace("1", "2"))], 0);
+ BOOST_CHECK_EQUAL(nOutInterests[boost::lexical_cast<std::string>(*getFace("1", "2"))], 100);
+ BOOST_CHECK_EQUAL(nInData [boost::lexical_cast<std::string>(*getFace("1", "2"))], 100);
+ BOOST_CHECK_EQUAL(nOutData [boost::lexical_cast<std::string>(*getFace("1", "2"))], 0);
+ // TODO add nacks
BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInInterests, 100);
+ BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nOutInterests, 0);
+ BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInData, 0);
BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nOutData, 100);
+ BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nInNacks, 0);
+ BOOST_CHECK_EQUAL(getFace("2", "1")->getCounters().nOutNacks, 0);
+
+ BOOST_CHECK_EQUAL(nInInterests [boost::lexical_cast<std::string>(*getFace("2", "1"))], 100);
+ BOOST_CHECK_EQUAL(nOutInterests[boost::lexical_cast<std::string>(*getFace("2", "1"))], 0);
+ BOOST_CHECK_EQUAL(nInData [boost::lexical_cast<std::string>(*getFace("2", "1"))], 0);
+ BOOST_CHECK_EQUAL(nOutData [boost::lexical_cast<std::string>(*getFace("2", "1"))], 100);
+ // TODO add nacks
BOOST_CHECK_EQUAL(boost::lexical_cast<std::string>(*getFace("1", "2")), "netdev://[00:00:00:ff:ff:01]");
BOOST_CHECK_EQUAL(boost::lexical_cast<std::string>(*getFace("2", "1")), "netdev://[00:00:00:ff:ff:02]");