X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=test%2Ftestbeds%2Fns3%2Fexecute.py;h=be7a432f72c7f565dc042ab948970af9cf0e5297;hb=552a2b6824a9e07fa6a5189bc7404fed12378d55;hp=d7a2a631ed323d071b0010720f8694e5984eedd6;hpb=dd7923ec87ed8a47cc9994ee50eae7bb8d982474;p=nepi.git diff --git a/test/testbeds/ns3/execute.py b/test/testbeds/ns3/execute.py index d7a2a631..be7a432f 100755 --- a/test/testbeds/ns3/execute.py +++ b/test/testbeds/ns3/execute.py @@ -18,53 +18,55 @@ class Ns3ExecuteTestCase(unittest.TestCase): "Test requires working ns-3 bindings") def test_run_ping_if(self): testbed_version = "3_9_RC3" - instance = ns3.TestbedInstance(testbed_version) - instance.configure("homeDirectory", self.root_dir) - instance.create(2, "ns3::Node") - instance.create(3, "ns3::Ipv4L3Protocol") - instance.create(4, "ns3::ArpL3Protocol") - instance.create(5, "ns3::Icmpv4L4Protocol") - instance.create(6, "ns3::UdpL4Protocol") - instance.connect(2, "protos", 3, "node") - instance.connect(2, "protos", 4, "node") - instance.connect(2, "protos", 5, "node") - instance.connect(2, "protos", 6, "node") - instance.create(7, "ns3::PointToPointNetDevice") - instance.create(8, "ns3::DropTailQueue") - instance.connect(2, "devs", 7, "node") - instance.connect(7, "queue", 8, "dev") - instance.add_trace(7, "P2PAsciiTrace") - instance.add_address(7, "10.0.0.1", 24, None) + instance = ns3.TestbedController(testbed_version) + instance.defer_configure("homeDirectory", self.root_dir) + instance.defer_create(2, "ns3::Node") + instance.defer_create(3, "ns3::Ipv4L3Protocol") + instance.defer_create(4, "ns3::ArpL3Protocol") + instance.defer_create(5, "ns3::Icmpv4L4Protocol") + instance.defer_create(6, "ns3::UdpL4Protocol") + instance.defer_connect(2, "protos", 3, "node") + instance.defer_connect(2, "protos", 4, "node") + instance.defer_connect(2, "protos", 5, "node") + instance.defer_connect(2, "protos", 6, "node") + instance.defer_create(7, "ns3::PointToPointNetDevice") + instance.defer_create(8, "ns3::DropTailQueue") + instance.defer_connect(2, "devs", 7, "node") + instance.defer_connect(7, "queue", 8, "dev") + instance.defer_add_trace(7, "P2PAsciiTrace") + instance.defer_add_address(7, "10.0.0.1", 24, None) - instance.create(9, "ns3::Node") - instance.create(10, "ns3::Ipv4L3Protocol") - instance.create(11, "ns3::ArpL3Protocol") - instance.create(12, "ns3::Icmpv4L4Protocol") - instance.create(13, "ns3::UdpL4Protocol") - instance.connect(9, "protos", 10, "node") - instance.connect(9, "protos", 11, "node") - instance.connect(9, "protos", 12, "node") - instance.connect(9, "protos", 13, "node") - instance.create(14, "ns3::PointToPointNetDevice") - instance.create(15, "ns3::DropTailQueue") - instance.connect(9, "devs", 14, "node") - instance.connect(14, "queue", 15, "dev") - instance.add_trace(14, "P2PAsciiTrace") - instance.add_address(14, "10.0.0.2", 24, None) + instance.defer_create(9, "ns3::Node") + instance.defer_create(10, "ns3::Ipv4L3Protocol") + instance.defer_create(11, "ns3::ArpL3Protocol") + instance.defer_create(12, "ns3::Icmpv4L4Protocol") + instance.defer_create(13, "ns3::UdpL4Protocol") + instance.defer_connect(9, "protos", 10, "node") + instance.defer_connect(9, "protos", 11, "node") + instance.defer_connect(9, "protos", 12, "node") + instance.defer_connect(9, "protos", 13, "node") + instance.defer_create(14, "ns3::PointToPointNetDevice") + instance.defer_create(15, "ns3::DropTailQueue") + instance.defer_connect(9, "devs", 14, "node") + instance.defer_connect(14, "queue", 15, "dev") + instance.defer_add_trace(14, "P2PAsciiTrace") + instance.defer_add_address(14, "10.0.0.2", 24, None) - instance.create(16, "ns3::PointToPointChannel") - instance.connect(7, "chan", 16, "dev2") - instance.connect(14, "chan", 16, "dev2") + instance.defer_create(16, "ns3::PointToPointChannel") + instance.defer_connect(7, "chan", 16, "dev2") + instance.defer_connect(14, "chan", 16, "dev2") - instance.create(17, "ns3::V4Ping") - instance.create_set(17, "Remote", "10.0.0.2") - instance.create_set(17, "StartTime", "0s") - instance.create_set(17, "StopTime", "10s") - instance.connect(17, "node", 2, "apps") + instance.defer_create(17, "ns3::V4Ping") + instance.defer_create_set(17, "Remote", "10.0.0.2") + instance.defer_create_set(17, "StartTime", "0s") + instance.defer_create_set(17, "StopTime", "10s") + instance.defer_connect(17, "node", 2, "apps") instance.do_setup() instance.do_create() - instance.do_connect() + instance.do_connect_init() + instance.do_connect_compl() + instance.do_preconfigure() instance.do_configure() instance.start() while instance.status(17) != STATUS_FINISHED: @@ -76,7 +78,12 @@ class Ns3ExecuteTestCase(unittest.TestCase): instance.shutdown() def tearDown(self): - shutil.rmtree(self.root_dir) + try: + shutil.rmtree(self.root_dir) + except: + # retry + time.sleep(0.1) + shutil.rmtree(self.root_dir) if __name__ == '__main__': unittest.main()