from nepi.util import proxy
from nepi.util.constants import DeploymentConfiguration as DC, ATTR_NEPI_TESTBED_ENVIRONMENT_SETUP
import os
+import re
import shutil
import tempfile
import test_util
import time
import unittest
-import re
class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
testbed_id = "planetlab"
pl_desc.set_attribute_value("plcHost", plchost)
pl_desc.set_attribute_value("tapPortBase", self.port_base)
pl_desc.set_attribute_value("p2pDeployment", False) # it's interactive, we don't want it in tests
+ pl_desc.set_attribute_value("cleanProc", True)
+ #pl_desc.set_attribute_value("plLogLevel", "DEBUG")
return pl_desc, exp_desc
controller.start()
# just test that it starts...
finally:
- controller.stop()
- controller.shutdown()
+ try:
+ controller.stop()
+ except:
+ import traceback
+ traceback.print_exc()
+ try:
+ controller.shutdown()
+ except:
+ import traceback
+ traceback.print_exc()
@test_util.skipUnless(test_util.pl_auth() is not None,
"Test requires PlanetLab authentication info (PL_USER and PL_PASS environment variables)")
ns1.connector("protos").connect(ipv41.connector("node"))
ns1.connector("protos").connect(arp1.connector("node"))
ns1.connector("protos").connect(icmp1.connector("node"))
- ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice")
- ns1if.enable_trace("FileDescriptorPcapTrace")
+ ns1if = ns3_desc.create("ns3::FdNetDevice")
+ ns1if.enable_trace("FdPcapTrace")
ns1if.set_attribute_value("label", "ns1if")
ns1.connector("devs").connect(ns1if.connector("node"))
tap1.connector("fd->").connect(ns1if.connector("->fd"))
+ tap1.set_attribute_value("tun_cipher", "PLAIN")
ip1 = ns1if.add_address()
ip1.set_attribute_value("Address", "192.168.2.3")
ip1.set_attribute_value("NetPrefix", 24)
tap_trace = controller.trace(tap1.guid, "packets")
finally:
- controller.stop()
- controller.shutdown()
+ try:
+ controller.stop()
+ except:
+ import traceback
+ traceback.print_exc()
+ try:
+ controller.shutdown()
+ except:
+ import traceback
+ traceback.print_exc()
# asserts at the end, to make sure there's proper cleanup
self.assertTrue(re.match(comp_result, ping_result, re.MULTILINE),
ns1.connector("protos").connect(ipv41.connector("node"))
ns1.connector("protos").connect(arp1.connector("node"))
ns1.connector("protos").connect(icmp1.connector("node"))
- ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice")
- ns1if.enable_trace("FileDescriptorPcapTrace")
+ ns1if = ns3_desc.create("ns3::FdNetDevice")
+ ns1if.enable_trace("FdPcapTrace")
ns1if.set_attribute_value("label", "ns1if")
ns1.connector("devs").connect(ns1if.connector("node"))
tap1.connector("fd->").connect(ns1if.connector("->fd"))
+ tap1.set_attribute_value("tun_cipher", "PLAIN")
ip1 = ns1if.add_address()
ip1.set_attribute_value("Address", "192.168.2.3")
ip1.set_attribute_value("NetPrefix", 24)
tap_trace = controller.trace(tap1.guid, "packets")
finally:
- controller.stop()
- controller.shutdown()
+ try:
+ controller.stop()
+ except:
+ import traceback
+ traceback.print_exc()
+ try:
+ controller.shutdown()
+ except:
+ import traceback
+ traceback.print_exc()
# asserts at the end, to make sure there's proper cleanup
sent = 0
ns1.connector("protos").connect(ipv41.connector("node"))
ns1.connector("protos").connect(arp1.connector("node"))
ns1.connector("protos").connect(icmp1.connector("node"))
- ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice")
- ns1if.enable_trace("FileDescriptorPcapTrace")
+ ns1if = ns3_desc.create("ns3::FdNetDevice")
+ ns1if.enable_trace("FdPcapTrace")
ns1if.set_attribute_value("label", "ns1if")
ns1.connector("devs").connect(ns1if.connector("node"))
tap0.connector("fd->").connect(ns1if.connector("->fd"))
+ tap0.set_attribute_value("tun_cipher", "PLAIN")
ip1 = ns1if.add_address()
ip1.set_attribute_value("Address", "192.168.2.1")
ip1.set_attribute_value("NetPrefix", 30)
tap0_trace = controller.trace(tap0.guid, "packets")
finally:
- controller.stop()
- controller.shutdown()
+ try:
+ controller.stop()
+ except:
+ import traceback
+ traceback.print_exc()
+ try:
+ controller.shutdown()
+ except:
+ import traceback
+ traceback.print_exc()
# asserts at the end, to make sure there's proper cleanup
sent = 0