Skip to content

Commit b3435a7

Browse files
committed
Correct test_project so it works on Windows laptop
1 parent a69f924 commit b3435a7

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

tests/test_project.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import subprocess
3-
import shlex
3+
from sys import platform
4+
from typing import Sequence
45

56

67
def test_project_folder(cookies):
@@ -12,8 +13,8 @@ def test_project_folder(cookies):
1213
assert project.project.isdir()
1314

1415

15-
def run(command: str, dirpath: os.PathLike) -> subprocess.CompletedProcess:
16-
return subprocess.run(shlex.split(command),
16+
def run(args: Sequence[str], dirpath: os.PathLike) -> subprocess.CompletedProcess:
17+
return subprocess.run(args=args,
1718
stdout=subprocess.PIPE,
1819
stderr=subprocess.PIPE,
1920
cwd=dirpath,
@@ -22,14 +23,15 @@ def run(command: str, dirpath: os.PathLike) -> subprocess.CompletedProcess:
2223

2324
def test_pytest(cookies):
2425
result = cookies.bake()
25-
env_output = run('python3 -m venv env', result.project)
26+
env_output = run(['python3', '-m', 'venv', 'env'], result.project)
2627
assert env_output.returncode == 0
27-
latest_pip_output = run('env/bin/pip3 install --upgrade pip setuptools', result.project)
28+
env_bin = 'env/Scripts/' if platform.startswith("win") else 'env/bin/'
29+
latest_pip_output = run([f'{env_bin}pip3 install', '--upgrade', 'pip', 'setuptools'], result.project)
2830
assert latest_pip_output.returncode == 0
29-
pip_output = run('env/bin/pip3 install --editable .[dev]', result.project)
31+
pip_output = run([f'{env_bin}pip3', 'install', '--editable', '.[dev]'], result.project)
3032
assert pip_output.returncode == 0
3133

32-
pytest_output = run('env/bin/pytest', result.project)
34+
pytest_output = run([f'{env_bin}pytest'], result.project)
3335
assert pytest_output.returncode == 0
3436
assert '== 3 passed in' in pytest_output.stdout
3537
assert (result.project / 'coverage.xml').exists()

0 commit comments

Comments
 (0)