Skip to content

Commit 026e8fb

Browse files
Fix test_click_click_object_definition on macOS, and use temporary paths for generating plugins (#40)
* Use fork as the start method * Use temporary directories for generating plugins * Add macOS tests because why not * Use Python 3.12 for tests
1 parent cc4a9dd commit 026e8fb

2 files changed

Lines changed: 21 additions & 7 deletions

File tree

.github/workflows/main.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,16 @@ concurrency:
1111

1212
jobs:
1313
test:
14-
runs-on: ubuntu-20.04
14+
strategy:
15+
matrix:
16+
runs-on: [ubuntu-latest, macos-latest]
17+
fail-fast: false
18+
runs-on: ${{ matrix.runs-on }}
1519
steps:
1620
- uses: actions/checkout@v2
1721
- uses: actions/setup-python@v3
1822
with:
19-
python-version: 3.10.2
23+
python-version: 3.12
2024
- name: Install
2125
shell: bash -l {0}
2226
run: |

pyodide_cli/tests/test_cli.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,30 @@
11
import pathlib
2+
import shutil
23
import subprocess
3-
from multiprocessing import Process, Queue
4+
from multiprocessing import Process, Queue, set_start_method
45
from subprocess import check_output
56

67
import pytest
78

9+
try:
10+
set_start_method("fork")
11+
except RuntimeError:
12+
pass
13+
814

915
@pytest.fixture(scope="module")
10-
def plugins():
11-
test_plugin = pathlib.Path(__file__).parent / "plugin-test"
16+
def plugins(tmp_path_factory):
17+
tmp_dir = tmp_path_factory.mktemp("plugin-test")
18+
source_plugin = pathlib.Path(__file__).parent / "plugin-test"
19+
20+
tmp_plugin = tmp_dir / "plugin-test"
21+
shutil.copytree(source_plugin, tmp_plugin)
1222

13-
subprocess.run(["pip", "install", str(test_plugin)])
23+
subprocess.run(["pip", "install", str(tmp_plugin)])
1424

1525
yield
1626

17-
subprocess.run(["pip", "uninstall", "-y", test_plugin.name])
27+
subprocess.run(["pip", "uninstall", "-y", "plugin-test"])
1828

1929

2030
def test_cli_help():

0 commit comments

Comments
 (0)