Procházet zdrojové kódy

Fixed bug when parsing bool and fix test helper delay. Also avoid
spamming log.

nuwan_ag před 10 roky
rodič
revize
f76a935ed6
2 změnil soubory, kde provedl 21 přidání a 9 odebrání
  1. 12 7
      cloudbridge/providers/base.py
  2. 9 2
      test/helpers.py

+ 12 - 7
cloudbridge/providers/base.py

@@ -106,19 +106,24 @@ class BaseObjectLifeCycleMixin(ObjectLifeCycleMixin):
         end_time = time.time() + timeout
         while True:
             if self.state in target_states:
+                log.debug(
+                    "Object: {0} successfully reached target state:"
+                    " {1}".format(self, self.state))
                 return True
             elif self.state in terminal_states:
                 raise WaitStateException(
                     "Object: {0} is in state: {1} which is a terminal state"
                     " and cannot be waited on.".format(self, self.state))
             else:
-                log.debug(
-                    "Object {0} is in state: {1}. Waiting another {2} seconds"
-                    " to reach target state(s): {3}...".format(
-                        self,
-                        self.state,
-                        int(end_time - time.time()),
-                        target_states))
+                # print output every 30 seconds to avoid spamming log
+                if (int(end_time - time.time()) % 15 == 0):
+                    log.debug(
+                        "Object {0} is in state: {1}. Waiting another {2}"
+                        " seconds to reach target state(s): {3}...".format(
+                            self,
+                            self.state,
+                            int(end_time - time.time()),
+                            target_states))
                 time.sleep(interval)
                 if time.time() > end_time:
                     raise WaitStateException(

+ 9 - 2
test/helpers.py

@@ -68,7 +68,7 @@ def create_test_instance(provider, instance_name):
 
 def get_test_instance(provider, name):
     instance = create_test_instance(provider, name)
-    instance.wait_till_ready()
+    instance.wait_till_ready(interval=TEST_WAIT_INTERVAL)
     return instance
 
 
@@ -142,13 +142,20 @@ class ProviderTestCaseGenerator():
         map(suite.addTest, suites)
         return suite
 
+    def _parse_bool(self, val):
+        if val:
+            return str(val).upper() in ['TRUE', 'YES']
+        else:
+            return False
+
     def generate_tests(self):
         """
         Generate and return a suite of tests for all provider and test class
         combinations
         """
         factory = CloudProviderFactory()
-        use_mock_drivers = os.environ.get("CB_USE_MOCK_DRIVERS", True)
+        use_mock_drivers = self._parse_bool(
+            os.environ.get("CB_USE_MOCK_DRIVERS", True))
         provider_name = os.environ.get("CB_TEST_PROVIDER", None)
         if provider_name:
             provider_classes = [