diff --git a/neutron/tests/base.py b/neutron/tests/base.py index b3956588100..e6e3f44cf92 100644 --- a/neutron/tests/base.py +++ b/neutron/tests/base.py @@ -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: diff --git a/neutron/tests/functional/agent/linux/test_ovsdb_monitor.py b/neutron/tests/functional/agent/linux/test_ovsdb_monitor.py index f93afeedf53..d1de2068f9d 100644 --- a/neutron/tests/functional/agent/linux/test_ovsdb_monitor.py +++ b/neutron/tests/functional/agent/linux/test_ovsdb_monitor.py @@ -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,