Fixing wrong license
[nepi.git] / test / resources / linux / ns3 / ns3dceping.py
old mode 100644 (file)
new mode 100755 (executable)
index 31f9142..d43ea31
@@ -4,9 +4,8 @@
 #    Copyright (C) 2013 INRIA
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    it under the terms of the GNU General Public License version 2 as
+#    published by the Free Software Foundation;
 #
 #    This program is distributed in the hope that it will be useful,
 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,6 +21,8 @@
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.trace import TraceAttr
 
+from test_utils import skipIfNotAlive
+
 import os
 import time
 import unittest
@@ -47,12 +48,10 @@ def add_ns3_node(ec, simu):
 
     return node
 
-def add_point2point_device(ec, node, address = None,  prefix = None):
+def add_point2point_device(ec, node, ip,  prefix):
     dev = ec.register_resource("ns3::PointToPointNetDevice")
-    if address:
-       ec.set(dev, "ip", address)
-    if prefix:
-       ec.set(dev, "prefix", prefix)
+    ec.set(dev, "ip", ip)
+    ec.set(dev, "prefix", prefix)
     ec.register_connection(node, dev)
 
     queue = ec.register_resource("ns3::DropTailQueue")
@@ -62,28 +61,26 @@ def add_point2point_device(ec, node, address = None,  prefix = None):
 
 class LinuxNS3PingDceApplicationTest(unittest.TestCase):
     def setUp(self):
-        #self.fedora_host = "nepi2.pl.sophia.inria.fr"
-        #self.fedora_host = "planetlabpc1.upf.edu"
-        #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'])
-        self.fedora_host = "planetlab1.informatik.uni-goettingen.de"
+        self.fedora_host = "nepi2.pl.sophia.inria.fr"
         self.fedora_user = "inria_nepi"
-        self.fedora_identity = "%s/.ssh/id_rsa_inria_twitter" % (os.environ['HOME'])
-
-    def test_dce_ping(self):
-        ec = ExperimentController(exp_id = "test-dceping")
+        self.fedora_identity = "%s/.ssh/id_rsa_planetlab" % (os.environ['HOME'])
+
+    @skipIfNotAlive
+    def t_dce_ping(self, host, user = None, identity = None):
+        ec = ExperimentController(exp_id = "test-dce-ping-app")
+
+        node = ec.register_resource("linux::Node")
+        if host == "localhost":
+            ec.set(node, "hostname", host)
+        else:
+            ec.set(node, "hostname", host)
+            ec.set(node, "username", user)
+            ec.set(node, "identity", identity)
         
-        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, "cleanProcesses", True)
+        ec.set(node, "cleanProcesses", True)
         #ec.set(node, "cleanHome", True)
 
-        simu = ec.register_resource("LinuxNS3Simulation")
+        simu = ec.register_resource("linux::ns3::Simulation")
         ec.set(simu, "verbose", True)
         ec.set(simu, "buildMode", "debug")
         ec.set(simu, "nsLog", "DceApplication")
@@ -105,7 +102,7 @@ class LinuxNS3PingDceApplicationTest(unittest.TestCase):
         ec.register_connection(chan, p2p2)
 
         ### create applications
-        ping = ec.register_resource("ns3::LinuxDcePing")
+        ping = ec.register_resource("linux::ns3::dce::Ping")
         ec.set (ping, "stackSize", 1<<20)
         ec.set (ping, "target", "10.0.0.2")
         ec.set (ping, "count", "10")
@@ -136,5 +133,11 @@ class LinuxNS3PingDceApplicationTest(unittest.TestCase):
 
         ec.shutdown()
 
+    def test_dce_ping_fedora(self):
+        self.t_dce_ping(self.fedora_host, self.fedora_user, self.fedora_identity)
+
+    def test_dce_ping_local(self):
+        self.t_dce_ping("localhost")
+
 if __name__ == '__main__':
     unittest.main()