Add skip for missing ARM64 tools
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -9,11 +11,38 @@ from . import test_projects, utils
|
|||||||
basic_project = test_projects.new_c_project()
|
basic_project = test_projects.new_c_project()
|
||||||
|
|
||||||
|
|
||||||
|
def skip_if_no_msvc(arm64=False):
|
||||||
|
programfiles = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles")
|
||||||
|
if not programfiles:
|
||||||
|
pytest.skip("Requires %ProgramFiles(x86)% variable to be set")
|
||||||
|
|
||||||
|
vswhere = os.path.join(programfiles, "Microsoft Visual Studio", "Installer", "vswhere.exe")
|
||||||
|
if not os.path.isfile(vswhere):
|
||||||
|
pytest.skip("Requires Visual Studio installation")
|
||||||
|
|
||||||
|
require = "Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
|
||||||
|
if arm64:
|
||||||
|
require = "Microsoft.VisualStudio.Component.VC.Tools.ARM64"
|
||||||
|
|
||||||
|
if not subprocess.check_output(
|
||||||
|
[
|
||||||
|
vswhere,
|
||||||
|
"-latest",
|
||||||
|
"-prerelease",
|
||||||
|
"-property", "installationPath",
|
||||||
|
"-requires", require,
|
||||||
|
]
|
||||||
|
):
|
||||||
|
pytest.skip("Requires ARM64 compiler to be installed")
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("use_pyproject_toml", [True, False])
|
@pytest.mark.parametrize("use_pyproject_toml", [True, False])
|
||||||
def test_wheel_tag_is_correct_when_using_windows_cross_compile(tmp_path, use_pyproject_toml):
|
def test_wheel_tag_is_correct_when_using_windows_cross_compile(tmp_path, use_pyproject_toml):
|
||||||
if utils.platform != "windows":
|
if utils.platform != "windows":
|
||||||
pytest.skip("This test is only relevant to Windows")
|
pytest.skip("This test is only relevant to Windows")
|
||||||
|
|
||||||
|
skip_if_no_msvc(arm64=True)
|
||||||
|
|
||||||
if use_pyproject_toml:
|
if use_pyproject_toml:
|
||||||
basic_project.files["pyproject.toml"] = textwrap.dedent(
|
basic_project.files["pyproject.toml"] = textwrap.dedent(
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user