Download pythonProject/.venv/Lib/site-packages/numpy/distutils/tests/test_shell_utils.py from byyange/QwenTest: direct link, hf CLI and curl.
- Browser
- Download file 2.19 kB
-
https://huggingface.co/byyange/QwenTest/resolve/main/pythonProject/.venv/Lib/site-packages/numpy/distutils/tests/test_shell_utils.py
- Command line
-
hf download hf://byyange/QwenTest/pythonProject/.venv/Lib/site-packages/numpy/distutils/tests/test_shell_utils.py
-
curl -L -o test_shell_utils.py https://huggingface.co/byyange/QwenTest/resolve/main/pythonProject/.venv/Lib/site-packages/numpy/distutils/tests/test_shell_utils.py
2.19 kB
| import pytest | |
| import subprocess | |
| import json | |
| import sys | |
| from numpy.distutils import _shell_utils | |
| from numpy.testing import IS_WASM | |
| argv_cases = [ | |
| [r'exe'], | |
| [r'path/exe'], | |
| [r'path\exe'], | |
| [r'\\server\path\exe'], | |
| [r'path to/exe'], | |
| [r'path to\exe'], | |
| [r'exe', '--flag'], | |
| [r'path/exe', '--flag'], | |
| [r'path\exe', '--flag'], | |
| [r'path to/exe', '--flag'], | |
| [r'path to\exe', '--flag'], | |
| # flags containing literal quotes in their name | |
| [r'path to/exe', '--flag-"quoted"'], | |
| [r'path to\exe', '--flag-"quoted"'], | |
| [r'path to/exe', '"--flag-quoted"'], | |
| [r'path to\exe', '"--flag-quoted"'], | |
| ] | |
| def Parser(request): | |
| return request.param | |
| def runner(Parser): | |
| if Parser != _shell_utils.NativeParser: | |
| pytest.skip('Unable to run with non-native parser') | |
| if Parser == _shell_utils.WindowsParser: | |
| return lambda cmd: subprocess.check_output(cmd) | |
| elif Parser == _shell_utils.PosixParser: | |
| # posix has no non-shell string parsing | |
| return lambda cmd: subprocess.check_output(cmd, shell=True) | |
| else: | |
| raise NotImplementedError | |
| def test_join_matches_subprocess(Parser, runner, argv): | |
| """ | |
| Test that join produces strings understood by subprocess | |
| """ | |
| # invoke python to return its arguments as json | |
| cmd = [ | |
| sys.executable, '-c', | |
| 'import json, sys; print(json.dumps(sys.argv[1:]))' | |
| ] | |
| joined = Parser.join(cmd + argv) | |
| json_out = runner(joined).decode() | |
| assert json.loads(json_out) == argv | |
| def test_roundtrip(Parser, argv): | |
| """ | |
| Test that split is the inverse operation of join | |
| """ | |
| try: | |
| joined = Parser.join(argv) | |
| assert argv == Parser.split(joined) | |
| except NotImplementedError: | |
| pytest.skip("Not implemented") | |