From d7b888ca6f0b27ee3a2d055da5a7913e88b14db1 Mon Sep 17 00:00:00 2001 From: Alina Quereilhac Date: Mon, 30 Jun 2014 18:44:06 +0200 Subject: [PATCH] Improving test test/resources/linux/ns3/ccn/ns3dceccnpeek.py --- examples/linux/dce/custom_dce_ping.py | 1 - .../linux/ns3/ccn/ns3ccnddceapplication.py | 2 +- src/nepi/resources/linux/ns3/ns3simulation.py | 19 --- test/resources/linux/ns3/ccn/ns3dceccnpeek.py | 109 ++++++------------ 4 files changed, 38 insertions(+), 93 deletions(-) diff --git a/examples/linux/dce/custom_dce_ping.py b/examples/linux/dce/custom_dce_ping.py index b5ac4406..5210d637 100644 --- a/examples/linux/dce/custom_dce_ping.py +++ b/examples/linux/dce/custom_dce_ping.py @@ -41,7 +41,6 @@ def add_ns3_node(ec, simu): return node - def add_point2point_device(ec, node, ip, prefix): dev = ec.register_resource("ns3::PointToPointNetDevice") ec.set(dev, "ip", ip) diff --git a/src/nepi/resources/linux/ns3/ccn/ns3ccnddceapplication.py b/src/nepi/resources/linux/ns3/ccn/ns3ccnddceapplication.py index a4325d96..8bf4ab13 100644 --- a/src/nepi/resources/linux/ns3/ccn/ns3ccnddceapplication.py +++ b/src/nepi/resources/linux/ns3/ccn/ns3ccnddceapplication.py @@ -172,7 +172,7 @@ class LinuxNS3DceCCND(LinuxNS3CCNDceApplication): " tar zxf ${SRC}/%(tar)s && " " cd %(version)s && " " INSTALL_BASE=${BIN_DCE}/.. ./configure && " - " make MORE_LDLIBS=-pie && " + " make MORE_LDLIBS='-pie -rdynamic' && " " make install && " " cp ${BIN_DCE}/../bin/ccn* ${BIN_DCE} && " " cd -" diff --git a/src/nepi/resources/linux/ns3/ns3simulation.py b/src/nepi/resources/linux/ns3/ns3simulation.py index 28a4e104..f9b93228 100644 --- a/src/nepi/resources/linux/ns3/ns3simulation.py +++ b/src/nepi/resources/linux/ns3/ns3simulation.py @@ -310,25 +310,6 @@ class LinuxNS3Simulation(LinuxApplication, NS3Simulation): self._client.start() - """ - XXX: Is this necessary?? - # Wait until the Simulation is actually started before setting the state - is_running = False - for i in xrange(200): - is_running = self.invoke(SIMULATOR_UUID, "isRunning") - is_finished = self.invoke(SIMULATOR_UUID, "isFinished") - - if is_running or is_finished: - break - else: - time.sleep(1) - else: - if not is_running: - msg = " Simulation did not start" - self.error(msg) - raise RuntimeError - """ - self.set_started() else: msg = " Failed to execute command '%s'" % command diff --git a/test/resources/linux/ns3/ccn/ns3dceccnpeek.py b/test/resources/linux/ns3/ccn/ns3dceccnpeek.py index b1495e0e..6abfc5ed 100644 --- a/test/resources/linux/ns3/ccn/ns3dceccnpeek.py +++ b/test/resources/linux/ns3/ccn/ns3dceccnpeek.py @@ -20,7 +20,8 @@ from nepi.execution.ec import ExperimentController -from nepi.execution.trace import TraceAttr + +from test_utils import skipIfNotAlive import os import time @@ -52,26 +53,24 @@ class LinuxNS3CCNPeekDceApplicationTest(unittest.TestCase): self.fedora_host = "nepi2.pl.sophia.inria.fr" self.fedora_user = "inria_nepi" self.fedora_identity = "%s/.ssh/id_rsa_planetlab" % (os.environ['HOME']) - self.fedora_host = "mimas.inria.fr" - self.fedora_user = "aquereil" - self.fedora_identity = "%s/.ssh/id_rsa" % (os.environ['HOME']) - def test_dce_ccnpeek(self): + @skipIfNotAlive + def t_dce_ccnpeek(self, host, user = None, identity = None): ec = ExperimentController(exp_id = "test-dce-ccnpeek") - + node = ec.register_resource("LinuxNode") - ec.set(node, "hostname", self.fedora_host) - ec.set(node, "username", self.fedora_user) - ec.set(node, "identity", self.fedora_identity) - ec.set(node, "cleanExperiment", True) - #ec.set(node, "cleanProcesses", True) + if host == "localhost": + ec.set(node, "hostname", host) + else: + ec.set(node, "hostname", host) + ec.set(node, "username", user) + ec.set(node, "identity", identity) + + ec.set(node, "cleanProcesses", True) #ec.set(node, "cleanHome", True) simu = ec.register_resource("LinuxNS3Simulation") ec.set(simu, "verbose", True) - ec.set(simu, "ns3Version", "ns-3-dev") - ec.set(simu, "pybindgenVersion", "868") - ec.set(simu, "buildMode", "debug") ec.set(simu, "nsLog", "DceApplication") ec.register_connection(simu, node) @@ -115,70 +114,23 @@ class LinuxNS3CCNPeekDceApplicationTest(unittest.TestCase): ec.shutdown() - def test_dce_ccnpeek_local(self): - ec = ExperimentController(exp_id = "test-dce-ccnpeek-local") - - node = ec.register_resource("LinuxNode") - ec.set(node, "hostname", "localhost") - - simu = ec.register_resource("LinuxNS3Simulation") - ec.set(simu, "verbose", True) - #ec.set(simu, "ns3Version", "ns-3.19") - #ec.set(simu, "pybindgenVersion", "834") - ec.set(node, "cleanExperiment", True) - ec.register_connection(simu, node) - - nsnode = add_ns3_node(ec, simu) - - ### create applications - ccnd = ec.register_resource("ns3::LinuxDceCCND") - ec.set (ccnd, "stackSize", 1<<20) - ec.set (ccnd, "StartTime", "1s") - ec.register_connection(ccnd, nsnode) - - ccnpoke = ec.register_resource("ns3::LinuxDceCCNPoke") - ec.set (ccnpoke, "contentName", "ccnx:/chunk0") - ec.set (ccnpoke, "content", "DATA") - ec.set (ccnpoke, "stackSize", 1<<20) - ec.set (ccnpoke, "StartTime", "2s") - ec.register_connection(ccnpoke, nsnode) - - ccnpeek = ec.register_resource("ns3::LinuxDceCCNPeek") - ec.set (ccnpeek, "contentName", "ccnx:/chunk0") - ec.set (ccnpeek, "stackSize", 1<<20) - ec.set (ccnpeek, "StartTime", "4s") - ec.set (ccnpeek, "StopTime", "20s") - ec.register_connection(ccnpeek, nsnode) - - ec.deploy() - - ec.wait_finished([ccnpeek]) - - expected = "ccnpeek ccnx:/chunk0" - cmdline = ec.trace(ccnpeek, "cmdline") - self.assertTrue(cmdline.find(expected) > -1, cmdline) - - expected = "Start Time: NS3 Time: 4s (" - status = ec.trace(ccnpeek, "status") - self.assertTrue(status.find(expected) > -1, status) - - expected = "DATA" - stdout = ec.trace(ccnpeek, "stdout") - self.assertTrue(stdout.find(expected) > -1, stdout) - - ec.shutdown() - - def test_dce_ccnpeek_local_with_stack(self): + @skipIfNotAlive + def t_dce_ccnpeek_with_stack(self, host, user = None, identity = None): ec = ExperimentController(exp_id = "test-dce-peek-lostack") node = ec.register_resource("LinuxNode") - ec.set(node, "hostname", "localhost") + if host == "localhost": + ec.set(node, "hostname", host) + else: + ec.set(node, "hostname", host) + ec.set(node, "username", user) + ec.set(node, "identity", identity) + + ec.set(node, "cleanProcesses", True) + #ec.set(node, "cleanHome", True) simu = ec.register_resource("LinuxNS3Simulation") ec.set(simu, "verbose", True) - #ec.set(simu, "ns3Version", "ns-3.19") - #ec.set(simu, "pybindgenVersion", "834") - ec.set(node, "cleanExperiment", True) ec.register_connection(simu, node) nsnode = ec.register_resource("ns3::Node") @@ -223,6 +175,19 @@ class LinuxNS3CCNPeekDceApplicationTest(unittest.TestCase): ec.shutdown() + def test_dce_ccnpeek_fedora(self): + self.t_dce_ccnpeek(self.fedora_host, self.fedora_user, self.fedora_identity) + + def test_dce_ccnpeek_local(self): + self.t_dce_ccnpeek("localhost") + + def test_dce_ccnpeek_with_stack_fedora(self): + self.t_dce_ccnpeek_with_stack(self.fedora_host, + self.fedora_user, self.fedora_identity) + + def test_dce_ccnpeek_with_stack_local(self): + self.t_dce_ccnpeek_with_stack("localhost") + if __name__ == '__main__': unittest.main() -- 2.43.0