54 lines
2.1 KiB
Diff
54 lines
2.1 KiB
Diff
|
From 59694be29a71b17ad1ce58c865a5524c50bfedee Mon Sep 17 00:00:00 2001
|
||
|
From: Ralf Gommers <ralf.gommers@gmail.com>
|
||
|
Date: Fri, 16 Feb 2024 22:18:43 +0100
|
||
|
Subject: [PATCH] TST: fix Cython compile test which invokes `meson`
|
||
|
|
||
|
Closes gh-24956
|
||
|
|
||
|
[skip circle]
|
||
|
---
|
||
|
numpy/core/tests/test_cython.py | 14 ++++++++++++--
|
||
|
1 file changed, 12 insertions(+), 2 deletions(-)
|
||
|
|
||
|
Index: numpy-1.26.4/numpy/core/tests/test_cython.py
|
||
|
===================================================================
|
||
|
--- numpy-1.26.4.orig/numpy/core/tests/test_cython.py
|
||
|
+++ numpy-1.26.4/numpy/core/tests/test_cython.py
|
||
|
@@ -37,6 +37,13 @@ def install_temp(tmpdir_factory):
|
||
|
srcdir = os.path.join(os.path.dirname(__file__), 'examples', 'cython')
|
||
|
build_dir = tmpdir_factory.mktemp("cython_test") / "build"
|
||
|
os.makedirs(build_dir, exist_ok=True)
|
||
|
+ # Ensure we use the correct Python interpreter even when `meson` is
|
||
|
+ # installed in a different Python environment (see gh-24956)
|
||
|
+ native_file = str(build_dir / 'interpreter-native-file.ini')
|
||
|
+ with open(native_file, 'w') as f:
|
||
|
+ f.write("[binaries]\n")
|
||
|
+ f.write(f"python = '{sys.executable}'")
|
||
|
+
|
||
|
try:
|
||
|
subprocess.check_call(["meson", "--version"])
|
||
|
except FileNotFoundError:
|
||
|
@@ -44,17 +51,20 @@ def install_temp(tmpdir_factory):
|
||
|
if sys.platform == "win32":
|
||
|
subprocess.check_call(["meson", "setup",
|
||
|
"--buildtype=release",
|
||
|
- "--vsenv", str(srcdir)],
|
||
|
+ "--vsenv", "--native-file", native_file,
|
||
|
+ str(srcdir)],
|
||
|
cwd=build_dir,
|
||
|
)
|
||
|
else:
|
||
|
- subprocess.check_call(["meson", "setup", str(srcdir)],
|
||
|
+ subprocess.check_call(["meson", "setup",
|
||
|
+ "--native-file", native_file, str(srcdir)],
|
||
|
cwd=build_dir
|
||
|
)
|
||
|
subprocess.check_call(["meson", "compile", "-vv"], cwd=build_dir)
|
||
|
|
||
|
sys.path.append(str(build_dir))
|
||
|
|
||
|
+
|
||
|
def test_is_timedelta64_object(install_temp):
|
||
|
import checks
|
||
|
|