X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3c88abd3cb33cbe80bb81a7cca779fe668036c9e..04a8e2c7d8a8dd3afd891292415cdfaea25fd481:/services/nodemanager/tests/testutil.py diff --git a/services/nodemanager/tests/testutil.py b/services/nodemanager/tests/testutil.py index 1b6aab3caf..15337c4120 100644 --- a/services/nodemanager/tests/testutil.py +++ b/services/nodemanager/tests/testutil.py @@ -2,13 +2,15 @@ from __future__ import absolute_import, print_function +import contextlib import datetime +import mock +import pykka +import sys import threading import time import libcloud.common.types as cloud_types -import mock -import pykka from . import pykka_timeout @@ -55,6 +57,17 @@ def cloud_node_fqdn(node): def ip_address_mock(last_octet): return '10.20.30.{}'.format(last_octet) +@contextlib.contextmanager +def redirected_streams(stdout=None, stderr=None): + orig_stdout, sys.stdout = sys.stdout, stdout or sys.stdout + orig_stderr, sys.stderr = sys.stderr, stderr or sys.stderr + try: + yield + finally: + sys.stdout = orig_stdout + sys.stderr = orig_stderr + + class MockShutdownTimer(object): def _set_state(self, is_open, next_opening): self.window_open = lambda: is_open