From 9379ef5b73a8a07a6e8c95185db33b849a9d015f Mon Sep 17 00:00:00 2001 From: John Vandenberg Date: Sun, 15 Sep 2019 14:13:44 +0700 Subject: [PATCH] test_integration: Use sys.executable Literal `python` is often `python2` and may not be present at all. Closes https://github.com/PyCQA/pydocstyle/issues/177 --- src/tests/test_integration.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tests/test_integration.py b/src/tests/test_integration.py index d4ee72b..1f9507f 100644 --- a/src/tests/test_integration.py +++ b/src/tests/test_integration.py @@ -81,9 +81,10 @@ def invoke(self, args="", target=None): run_target = self.tempdir if target is None else \ os.path.join(self.tempdir, target) - cmd = shlex.split("{} {} {}" - .format(self.script_name, run_target, args), - posix=False) + cmd = shlex.split( + ('"{}" -m {} {} {}' if sys.platform == "nt" else '{} -m {} {} {}') + .format(sys.executable, self.script_name, run_target, args), + posix=False) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -201,7 +202,7 @@ def test_run_as_named_module(): """ # Add --match='' so that no files are actually checked (to make sure that # the return code is 0 and to reduce execution time). - cmd = shlex.split("python -m pydocstyle --match=''") + cmd = shlex.split("\"{}\" -m pydocstyle --match=''".format(sys.executable)) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)