From 59694be29a71b17ad1ce58c865a5524c50bfedee Mon Sep 17 00:00:00 2001 From: Ralf Gommers 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