Add skip for missing ARM64 tools
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import textwrap
|
||||
|
||||
import pytest
|
||||
@@ -9,11 +11,38 @@ from . import test_projects, utils
|
||||
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])
|
||||
def test_wheel_tag_is_correct_when_using_windows_cross_compile(tmp_path, use_pyproject_toml):
|
||||
if utils.platform != "windows":
|
||||
pytest.skip("This test is only relevant to Windows")
|
||||
|
||||
skip_if_no_msvc(arm64=True)
|
||||
|
||||
if use_pyproject_toml:
|
||||
basic_project.files["pyproject.toml"] = textwrap.dedent(
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user