(cmd, encoding=None)
| 48 | |
| 49 | @requires_subprocess() |
| 50 | def check_output(cmd, encoding=None): |
| 51 | p = subprocess.Popen(cmd, |
| 52 | stdout=subprocess.PIPE, |
| 53 | stderr=subprocess.PIPE, |
| 54 | env={**os.environ, "PYTHONHOME": ""}) |
| 55 | out, err = p.communicate() |
| 56 | if p.returncode: |
| 57 | if verbose and err: |
| 58 | print(err.decode(encoding or 'utf-8', 'backslashreplace')) |
| 59 | raise subprocess.CalledProcessError( |
| 60 | p.returncode, cmd, out, err) |
| 61 | if encoding: |
| 62 | return ( |
| 63 | out.decode(encoding, 'backslashreplace'), |
| 64 | err.decode(encoding, 'backslashreplace'), |
| 65 | ) |
| 66 | return out, err |
| 67 | |
| 68 | class BaseTest(unittest.TestCase, ExtraAssertions): |
| 69 | """Base class for venv tests.""" |
no test coverage detected