Fix paths in unit tests

This commit is contained in:
Yannick Jadoul
2020-06-18 00:23:25 +02:00
parent a7f73f1593
commit 46a39b06cb
2 changed files with 14 additions and 12 deletions
+8 -7
View File
@@ -1,6 +1,7 @@
import os import os
import subprocess import subprocess
import sys import sys
from pathlib import Path
import pytest import pytest
@@ -18,7 +19,7 @@ class ArgsInterceptor:
self.kwargs = kwargs self.kwargs = kwargs
MOCK_PACKAGE_DIR = 'some_package_dir' MOCK_PACKAGE_DIR = Path('some_package_dir')
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
@@ -43,16 +44,16 @@ def fake_package_dir(monkeypatch):
''' '''
Monkey-patch enough for the main() function to run Monkey-patch enough for the main() function to run
''' '''
real_os_path_exists = os.path.exists real_path_exists = Path.exists
def mock_os_path_exists(path): def mock_path_exists(path):
if path == os.path.join(MOCK_PACKAGE_DIR, 'setup.py'): if path == MOCK_PACKAGE_DIR / 'setup.py':
return True return True
else: else:
return real_os_path_exists(path) return real_path_exists(path)
monkeypatch.setattr(os.path, 'exists', mock_os_path_exists) monkeypatch.setattr(Path, 'exists', mock_path_exists)
monkeypatch.setattr(sys, 'argv', ['cibuildwheel', MOCK_PACKAGE_DIR]) monkeypatch.setattr(sys, 'argv', ['cibuildwheel', str(MOCK_PACKAGE_DIR)])
@pytest.fixture(params=['linux', 'macos', 'windows']) @pytest.fixture(params=['linux', 'macos', 'windows'])
+6 -5
View File
@@ -1,5 +1,6 @@
import sys import sys
from fnmatch import fnmatch from fnmatch import fnmatch
from pathlib import Path
import pytest import pytest
@@ -12,9 +13,9 @@ from cibuildwheel.util import BuildSelector
def test_output_dir(platform, intercepted_build_args, monkeypatch): def test_output_dir(platform, intercepted_build_args, monkeypatch):
OUTPUT_DIR = 'some_output_dir' OUTPUT_DIR = Path('some_output_dir')
monkeypatch.setenv('CIBW_OUTPUT_DIR', OUTPUT_DIR) monkeypatch.setenv('CIBW_OUTPUT_DIR', str(OUTPUT_DIR))
main() main()
@@ -24,14 +25,14 @@ def test_output_dir(platform, intercepted_build_args, monkeypatch):
def test_output_dir_default(platform, intercepted_build_args, monkeypatch): def test_output_dir_default(platform, intercepted_build_args, monkeypatch):
main() main()
assert intercepted_build_args.args[0].output_dir == 'wheelhouse' assert intercepted_build_args.args[0].output_dir == Path('wheelhouse')
@pytest.mark.parametrize('also_set_environment', [False, True]) @pytest.mark.parametrize('also_set_environment', [False, True])
def test_output_dir_argument(also_set_environment, platform, intercepted_build_args, monkeypatch): def test_output_dir_argument(also_set_environment, platform, intercepted_build_args, monkeypatch):
OUTPUT_DIR = 'some_output_dir' OUTPUT_DIR = Path('some_output_dir')
monkeypatch.setattr(sys, 'argv', sys.argv + ['--output-dir', OUTPUT_DIR]) monkeypatch.setattr(sys, 'argv', sys.argv + ['--output-dir', str(OUTPUT_DIR)])
if also_set_environment: if also_set_environment:
monkeypatch.setenv('CIBW_OUTPUT_DIR', 'not_this_output_dir') monkeypatch.setenv('CIBW_OUTPUT_DIR', 'not_this_output_dir')