Make sure tests clean up after them, by setting dedicatedSlice=True and by trapping...
authorClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Thu, 18 Aug 2011 15:17:12 +0000 (17:17 +0200)
committerClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Thu, 18 Aug 2011 15:17:12 +0000 (17:17 +0200)
test/testbeds/planetlab/integration.py
test/testbeds/planetlab/integration_cross.py
test/testbeds/planetlab/integration_multi.py
test/testbeds/planetlab/integration_ns3.py

index 3c89086..d59e959 100755 (executable)
@@ -14,6 +14,7 @@ import time
 import unittest
 import re
 import sys
+import logging
 
 class PlanetLabIntegrationTestCase(unittest.TestCase):
     testbed_id = "planetlab"
@@ -59,6 +60,8 @@ class PlanetLabIntegrationTestCase(unittest.TestCase):
         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("dedicatedSlice", True)
+        #pl_desc.set_attribute_value("plLogLevel", "DEBUG")
         
         return pl_desc, exp_desc
     
@@ -114,8 +117,16 @@ class PlanetLabIntegrationTestCase(unittest.TestCase):
                 "Unexpected trace:\n" + ping_result)
         
         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)")
     @test_util.skipUnless(os.environ.get('NEPI_FULL_TESTS','').lower() in ('1','yes','true','on'),
@@ -185,8 +196,16 @@ FIONREAD = 0x[0-9a-fA-F]{8}.*
                     "Unexpected trace:\n" + build_result)
         
         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)")
     def test_simple(self):
@@ -199,6 +218,7 @@ FIONREAD = 0x[0-9a-fA-F]{8}.*
         access_config = proxy.AccessConfiguration({
             DC.DEPLOYMENT_MODE : DC.MODE_DAEMON,
             DC.ROOT_DIRECTORY : self.root_dir,
+            DC.LOG_LEVEL : DC.DEBUG_LEVEL,
         })
 
         self._test_simple(
@@ -316,6 +336,10 @@ FIONREAD = 0x[0-9a-fA-F]{8}.*
             if controller is not None:
                 try:
                     controller.stop()
+                except:
+                    import traceback
+                    traceback.print_exc()
+                try:
                     controller.shutdown()
                 except:
                     import traceback
@@ -332,6 +356,7 @@ FIONREAD = 0x[0-9a-fA-F]{8}.*
         access_config = proxy.AccessConfiguration({
             DC.DEPLOYMENT_MODE : DC.MODE_DAEMON,
             DC.ROOT_DIRECTORY : self.root_dir,
+            DC.LOG_LEVEL : DC.DEBUG_LEVEL,
         })
 
         self._test_recover(
index d790ea3..50d0ed9 100755 (executable)
@@ -68,6 +68,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase):
         pl_desc.set_attribute_value("plcHost", plchost1)
         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("dedicatedSlice", True)
 
         pl_desc2 = exp_desc.add_testbed_description(pl_provider)
         pl_desc2.set_attribute_value("homeDirectory", self.root_dir+"v2")
@@ -78,6 +79,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase):
         pl_desc2.set_attribute_value("plcHost", plchost2)
         pl_desc2.set_attribute_value("tapPortBase", self.port_base+500)
         pl_desc2.set_attribute_value("p2pDeployment", False) # it's interactive, we don't want it in tests
+        pl_desc2.set_attribute_value("dedicatedSlice", True)
         
         return pl_desc, pl_desc2, exp_desc
     
@@ -199,8 +201,16 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase):
             ping_result = controller.trace(ping.guid, "stdout")
             tap2_trace = controller.trace(tap2.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),
index eaaef3e..7ecbcef 100755 (executable)
@@ -68,6 +68,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase):
         pl_desc.set_attribute_value("plcHost", plchost1)
         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("dedicatedSlice", True)
 
         pl_desc2 = exp_desc.add_testbed_description(pl_provider)
         pl_desc2.set_attribute_value("homeDirectory", self.root_dir+"v2")
@@ -78,6 +79,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase):
         pl_desc2.set_attribute_value("plcHost", plchost2)
         pl_desc2.set_attribute_value("tapPortBase", self.port_base+500)
         pl_desc2.set_attribute_value("p2pDeployment", False) # it's interactive, we don't want it in tests
+        pl_desc2.set_attribute_value("dedicatedSlice", True)
         
         return pl_desc, pl_desc2, exp_desc
     
@@ -156,8 +158,16 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase):
         
         finally:
             if controller is not None:
-                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),
index dfb39d8..d1d8695 100755 (executable)
@@ -58,6 +58,7 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
         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("dedicatedSlice", True)
         
         return pl_desc, exp_desc
     
@@ -159,8 +160,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             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)")
@@ -220,8 +229,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             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),
@@ -298,8 +315,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             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
@@ -408,8 +433,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             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