summaryrefslogtreecommitdiff
path: root/src/virtualenv/util/subprocess
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2020-01-03 13:02:06 +0000
committerBernat Gabor <bgabor8@bloomberg.net>2020-01-10 15:38:37 +0000
commitbca1a13e9ffd2e741e604bcf6ef500f60dd349b8 (patch)
tree23325454f99d7ba1369cff2a31aeb89d52baca2d /src/virtualenv/util/subprocess
parentff6dc73d447a3c6276af64df2eb91e2709e450a3 (diff)
downloadvirtualenv-bca1a13e9ffd2e741e604bcf6ef500f60dd349b8.tar.gz
interface compatibility with before rewrite (#1479)
Ensure that what ran with virtualenv 17 will continue running in a post rewrite world minus the deprecated flags, plus the relocatable feature. Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
Diffstat (limited to 'src/virtualenv/util/subprocess')
-rw-r--r--src/virtualenv/util/subprocess/__init__.py23
-rw-r--r--src/virtualenv/util/subprocess/_win_subprocess.py (renamed from src/virtualenv/util/subprocess/win_subprocess.py)0
2 files changed, 20 insertions, 3 deletions
diff --git a/src/virtualenv/util/subprocess/__init__.py b/src/virtualenv/util/subprocess/__init__.py
index a980cae..0107658 100644
--- a/src/virtualenv/util/subprocess/__init__.py
+++ b/src/virtualenv/util/subprocess/__init__.py
@@ -6,10 +6,27 @@ import sys
import six
if six.PY2 and sys.platform == "win32":
- from . import win_subprocess
+ from . import _win_subprocess
- Popen = win_subprocess.Popen
+ Popen = _win_subprocess.Popen
else:
Popen = subprocess.Popen
-__all__ = ("subprocess", "Popen")
+
+def run_cmd(cmd):
+ try:
+ process = Popen(
+ cmd, universal_newlines=True, stdin=subprocess.PIPE, stderr=subprocess.PIPE, stdout=subprocess.PIPE
+ )
+ out, err = process.communicate() # input disabled
+ code = process.returncode
+ except OSError as os_error:
+ code, out, err = os_error.errno, "", os_error.strerror
+ return code, out, err
+
+
+__all__ = (
+ "subprocess",
+ "Popen",
+ "run_cmd",
+)
diff --git a/src/virtualenv/util/subprocess/win_subprocess.py b/src/virtualenv/util/subprocess/_win_subprocess.py
index e8fdaf0..e8fdaf0 100644
--- a/src/virtualenv/util/subprocess/win_subprocess.py
+++ b/src/virtualenv/util/subprocess/_win_subprocess.py