aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tests/21_test_command_wrappers.py18
-rw-r--r--tests/testutils/__init__.py4
-rw-r--r--tests/testutils/popen.py18
3 files changed, 22 insertions, 18 deletions
diff --git a/tests/21_test_command_wrappers.py b/tests/21_test_command_wrappers.py
index 3ad3290c..61aab56b 100644
--- a/tests/21_test_command_wrappers.py
+++ b/tests/21_test_command_wrappers.py
@@ -2,25 +2,9 @@
"""Test L{gbp.command_wrappers.Command}'s tarball unpack"""
import unittest
-import mock
-import functools
from gbp.command_wrappers import Command, CommandExecFailed
-from . testutils import GbpLogTester
-
-
-def patch_popen(stdout=b'', stderr=b'', returncode=1):
- """Decorator to easily set the return value of popen.communicate()"""
- def patch_popen_decorator(func):
- @functools.wraps(func)
- def wrap(self):
- with mock.patch('subprocess.Popen') as create_mock:
- popen_mock = mock.Mock(**{'returncode': returncode,
- 'communicate.return_value': (stdout, stderr)})
- create_mock.return_value = popen_mock
- return func(self, create_mock)
- return wrap
- return patch_popen_decorator
+from . testutils import GbpLogTester, patch_popen
class TestCommandWrapperFailures(unittest.TestCase, GbpLogTester):
diff --git a/tests/testutils/__init__.py b/tests/testutils/__init__.py
index 27f9e9cc..febd9e2b 100644
--- a/tests/testutils/__init__.py
+++ b/tests/testutils/__init__.py
@@ -16,11 +16,13 @@ from gbp.deb.changelog import ChangeLog
from . gbplogtester import GbpLogTester
from . debiangittestrepo import DebianGitTestRepo
from . capture import capture_stdout, capture_stderr
+from . popen import patch_popen
__all__ = ['GbpLogTester', 'DebianGitTestRepo', 'OsReleaseFile',
'MockedChangeLog', 'get_dch_default_urgency',
'capture_stderr', 'capture_stdout',
- 'ls_dir', 'ls_tar', 'ls_zip']
+ 'ls_dir', 'ls_tar', 'ls_zip',
+ 'patch_popen']
class OsReleaseFile(object):
diff --git a/tests/testutils/popen.py b/tests/testutils/popen.py
new file mode 100644
index 00000000..725e1f77
--- /dev/null
+++ b/tests/testutils/popen.py
@@ -0,0 +1,18 @@
+# vim: set fileencoding=utf-8 :
+
+import functools
+import mock
+
+
+def patch_popen(stdout=b'', stderr=b'', returncode=1):
+ """Decorator to easily set the return value of popen.communicate()"""
+ def patch_popen_decorator(func):
+ @functools.wraps(func)
+ def wrap(self):
+ with mock.patch('subprocess.Popen') as create_mock:
+ popen_mock = mock.Mock(**{'returncode': returncode,
+ 'communicate.return_value': (stdout, stderr)})
+ create_mock.return_value = popen_mock
+ return func(self, create_mock)
+ return wrap
+ return patch_popen_decorator