]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix functional test using local timeout value
authorMaru Newby <marun@redhat.com>
Fri, 3 Apr 2015 01:10:07 +0000 (01:10 +0000)
committerArmando Migliaccio <armamig@gmail.com>
Fri, 3 Apr 2015 01:18:15 +0000 (01:18 +0000)
The ovsdb monitor test was using a timeout of 60s for monitor start.
This change sets the timeout to the global timeout value if it is
greater (it's 90s currently).

Closes-bug: #1439914

Change-Id: I95ee3d7dfdb5f010347a9d8db1b2bf610c0289d1

neutron/tests/base.py
neutron/tests/functional/agent/linux/test_ovsdb_monitor.py

index b3956588100e3973459d0ec99545c3a5775ec665..e6e3f44cf92f76da05d5baa46778c61b16ca0714 100644 (file)
@@ -74,6 +74,10 @@ def bool_from_env(key, strict=False, default=False):
     return strutils.bool_from_string(value, strict=strict, default=default)
 
 
+def get_test_timeout(default=0):
+    return int(os.environ.get('OS_TEST_TIMEOUT', 0))
+
+
 class AttributeDict(dict):
 
     """
@@ -118,7 +122,7 @@ class DietTestCase(testtools.TestCase):
                 nuke_handlers=capture_logs,
             ))
 
-        test_timeout = int(os.environ.get('OS_TEST_TIMEOUT', 0))
+        test_timeout = get_test_timeout()
         if test_timeout == -1:
             test_timeout = 0
         if test_timeout > 0:
index f93afeedf53c9fcfee9af28d4e0fc7d26211e86e..d1de2068f9d7ee84e667618bdbaaed7a133b2903 100644 (file)
@@ -27,6 +27,7 @@ from oslo_config import cfg
 
 from neutron.agent.linux import ovsdb_monitor
 from neutron.agent.linux import utils
+from neutron.tests import base as tests_base
 from neutron.tests.common import net_helpers
 from neutron.tests.functional.agent.linux import base as linux_base
 from neutron.tests.functional import base as functional_base
@@ -95,7 +96,10 @@ class TestSimpleInterfaceMonitor(BaseMonitorTest):
 
         self.monitor = ovsdb_monitor.SimpleInterfaceMonitor()
         self.addCleanup(self.monitor.stop)
-        self.monitor.start(block=True, timeout=60)
+        # In case a global test timeout isn't set or disabled, use a
+        # value that will ensure the monitor has time to start.
+        timeout = max(tests_base.get_test_timeout(), 60)
+        self.monitor.start(block=True, timeout=timeout)
 
     def test_has_updates(self):
         self.assertTrue(self.monitor.has_updates,