File: test_WindowsSDK___is_supported_version.py

package info (click to toggle)
python-briefcase 0.3.22-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,300 kB
  • sloc: python: 59,405; makefile: 57
file content (46 lines) | stat: -rw-r--r-- 1,186 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import pytest

from briefcase.integrations.windows_sdk import WindowsSDK


@pytest.mark.parametrize(
    "sdk_version, supported",
    [
        ("42.42.1000", True),
        ("42.42.1000.0", True),
        ("42.42.1001.001", True),
        ("42.42.1001.0.dev", True),
        ("42.42.1001.asdf", True),
        ("42.42.123456789", True),
        ("42.42.123456789.10", True),
        ("42.42.950", False),
        ("42.42.950.50", False),
        ("42.42.NaN.50", False),
        ("42", False),
        ("42.42", False),
        ("41.41.1000", False),
        (42.42, False),
        (42, False),
    ],
)
def test_winsdk_version_validation(
    mock_tools,
    sdk_version,
    supported,
    tmp_path,
    monkeypatch,
):
    """Evaluation of the proposed SDK version is correct."""
    # Patch target SDK version
    monkeypatch.setattr(WindowsSDK, "SDK_VERSION", "42.42")
    monkeypatch.setattr(WindowsSDK, "SDK_MIN_VERSION", 1000)

    windows_sdk = WindowsSDK(
        tools=mock_tools,
        root_path=tmp_path / "win_sdk",
        version=sdk_version,
        arch="x64",
    )

    # Verify the version
    assert WindowsSDK._is_supported_version(windows_sdk) is supported