summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ports_windows.yml15
-rw-r--r--ports/windows/Makefile3
-rw-r--r--ports/windows/README.md2
-rwxr-xr-xtests/run-tests.py9
4 files changed, 10 insertions, 19 deletions
diff --git a/.github/workflows/ports_windows.yml b/.github/workflows/ports_windows.yml
index be2a2a8da..7647749f7 100644
--- a/.github/workflows/ports_windows.yml
+++ b/.github/workflows/ports_windows.yml
@@ -108,16 +108,6 @@ jobs:
run:
shell: msys2 {0}
steps:
- - name: Get Python path
- id: python_path
- shell: python
- run: |
- import os
- import sys
- output = f"python={os.fspath(sys.executable)}"
- print(output)
- with open(os.environ["GITHUB_OUTPUT"], "w") as f:
- f.write(output)
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
@@ -126,7 +116,7 @@ jobs:
make
mingw-w64-${{ matrix.env }}-gcc
pkg-config
- python3
+ mingw-w64-${{ matrix.env }}-python3
git
diffutils
- uses: actions/checkout@v4
@@ -138,8 +128,7 @@ jobs:
run: make -C ports/windows -j2 VARIANT=${{ matrix.variant }}
- name: Run tests
id: test
- # msys python breaks tests so we need to use "real" windows python
- run: MICROPY_CPYTHON3=$(cygpath "${{ steps.python_path.outputs.python }}") make -C ports/windows test_full VARIANT=${{ matrix.variant }}
+ run: make -C ports/windows test_full VARIANT=${{ matrix.variant }}
- name: Print failures
if: failure() && steps.test.conclusion == 'failure'
working-directory: tests
diff --git a/ports/windows/Makefile b/ports/windows/Makefile
index bb635167d..cf0a92701 100644
--- a/ports/windows/Makefile
+++ b/ports/windows/Makefile
@@ -101,6 +101,9 @@ include $(TOP)/py/mkrules.mk
.PHONY: test test_full
+# Note for recent gcc versions like 13.2:
+# - mingw64-x86_64 gcc builds will pass the math_domain_special test
+# - mingw64-ucrt64 gcc builds will pass all of the below tests
RUN_TESTS_SKIP += -e math_fun -e float2int_double -e float_parse -e math_domain_special
test: $(BUILD)/$(PROG) $(TOP)/tests/run-tests.py
diff --git a/ports/windows/README.md b/ports/windows/README.md
index 2b3ed4459..57ec0e191 100644
--- a/ports/windows/README.md
+++ b/ports/windows/README.md
@@ -45,7 +45,7 @@ Install MSYS2 from http://repo.msys2.org/distrib, start the msys2.exe shell and
install the build tools:
pacman -Syuu
- pacman -S make mingw-w64-x86_64-gcc pkg-config python3
+ pacman -S make mingw-w64-x86_64-gcc pkg-config mingw-w64-x86_64-python3
Start the mingw64.exe shell and build:
diff --git a/tests/run-tests.py b/tests/run-tests.py
index e80d5b463..a91b3e9e9 100755
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -3,6 +3,7 @@
import os
import subprocess
import sys
+import sysconfig
import platform
import argparse
import inspect
@@ -583,10 +584,6 @@ def run_tests(pyb, tests, args, result_dir, num_threads=1):
# fails with stack overflow on Debug builds
skip_tests.add("misc/sys_settrace_features.py")
- if os.getenv("MSYSTEM") is not None:
- # fails due to wrong path separator
- skip_tests.add("import/import_file.py")
-
if upy_float_precision == 0:
skip_tests.add("extmod/uctypes_le_float.py")
skip_tests.add("extmod/uctypes_native_float.py")
@@ -711,7 +708,9 @@ def run_tests(pyb, tests, args, result_dir, num_threads=1):
# Some tests use unsupported features on Windows
if os.name == "nt":
- skip_tests.add("import/import_file.py") # works but CPython prints forward slashes
+ if not sysconfig.get_platform().startswith("mingw"):
+ # Works but CPython uses '\' path separator
+ skip_tests.add("import/import_file.py")
# Some tests are known to fail with native emitter
# Remove them from the below when they work