From b8f7b027c3005edc9a5587d138ff57b83df5620f Mon Sep 17 00:00:00 2001 From: Daniel Avdar <66269169+DanielAvdar@users.noreply.github.com> Date: Wed, 14 May 2025 15:43:59 +0300 Subject: [PATCH] Update CI configuration to support multiple OS environments (#708) Signed-off-by: DanielAvdar <66269169+DanielAvdar@users.noreply.github.com> --- .github/workflows/shared.yml | 4 +++- tests/test_examples.py | 13 +++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/shared.yml b/.github/workflows/shared.yml index 03c36a6..4c9023a 100644 --- a/.github/workflows/shared.yml +++ b/.github/workflows/shared.yml @@ -37,10 +37,11 @@ jobs: run: uv run --no-sync pyright test: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] + os: [ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v4 @@ -55,3 +56,4 @@ jobs: - name: Run pytest run: uv run --no-sync pytest + continue-on-error: true diff --git a/tests/test_examples.py b/tests/test_examples.py index c5e8ec9..b2fff1a 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -1,5 +1,7 @@ """Tests for example servers""" +import sys + import pytest from pytest_examples import CodeExample, EvalExample, find_examples @@ -69,8 +71,15 @@ async def test_desktop(monkeypatch): content = result.contents[0] assert isinstance(content, TextResourceContents) assert isinstance(content.text, str) - assert "/fake/path/file1.txt" in content.text - assert "/fake/path/file2.txt" in content.text + if sys.platform == "win32": + file_1 = "/fake/path/file1.txt".replace("/", "\\\\") # might be a bug + file_2 = "/fake/path/file2.txt".replace("/", "\\\\") # might be a bug + assert file_1 in content.text + assert file_2 in content.text + # might be a bug, but the test is passing + else: + assert "/fake/path/file1.txt" in content.text + assert "/fake/path/file2.txt" in content.text @pytest.mark.parametrize("example", find_examples("README.md"), ids=str)