Viewing file: test_limited_api.py (1.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import os import shutil import subprocess import sys import sysconfig import pytest
from numpy.testing import IS_WASM
@pytest.mark.skipif(IS_WASM, reason="Can't start subprocess") @pytest.mark.xfail( sysconfig.get_config_var("Py_DEBUG"), reason=( "Py_LIMITED_API is incompatible with Py_DEBUG, Py_TRACE_REFS, " "and Py_REF_DEBUG" ), ) def test_limited_api(tmp_path): """Test building a third-party C extension with the limited API.""" # Based in part on test_cython from random.tests.test_extending
here = os.path.dirname(__file__) ext_dir = os.path.join(here, "examples", "limited_api")
cytest = str(tmp_path / "limited_api")
shutil.copytree(ext_dir, cytest) # build the examples and "install" them into a temporary directory
install_log = str(tmp_path / "tmp_install_log.txt") subprocess.check_output( [ sys.executable, "setup.py", "build", "install", "--prefix", str(tmp_path / "installdir"), "--single-version-externally-managed", "--record", install_log, ], cwd=cytest, )
|