summaryrefslogtreecommitdiff
path: root/tests/helpers.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-02-14 09:27:27 -0500
committerNed Batchelder <ned@nedbatchelder.com>2015-02-14 09:27:27 -0500
commite25a505dfece0b60c22ea871796d7159a300d771 (patch)
tree71cdfdfbe6f1a417bb883aa42c55d400cdd59fad /tests/helpers.py
parent2ddec8a0a5b816470f6a6982468d521d4da2d322 (diff)
downloadpython-coveragepy-git-e25a505dfece0b60c22ea871796d7159a300d771.tar.gz
Move some code to where it belongs
Diffstat (limited to 'tests/helpers.py')
-rw-r--r--tests/helpers.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/helpers.py b/tests/helpers.py
index db20d798..c26f4859 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -1,5 +1,31 @@
"""Helpers for coverage.py tests."""
+import subprocess
+
+
+# This isn't really a backward compatibility thing, should be moved into a
+# helpers file or something.
+def run_command(cmd):
+ """Run a command in a sub-process.
+
+ Returns the exit status code and the combined stdout and stderr.
+
+ """
+ proc = subprocess.Popen(
+ cmd, shell=True,
+ stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT
+ )
+ output, _ = proc.communicate()
+ status = proc.returncode
+
+ # Get the output, and canonicalize it to strings with newlines.
+ if not isinstance(output, str):
+ output = output.decode('utf-8')
+ output = output.replace('\r', '')
+
+ return status, output
+
class CheckUniqueFilenames(object):
"""Asserts the uniqueness of filenames passed to a function."""