11import os
22import subprocess
3- import shlex
3+ from sys import platform
4+ from typing import Sequence
45
56
67def 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
2324def 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