From ec0fcb0341d1906000f840dd9f4b15df879bcf20 Mon Sep 17 00:00:00 2001 From: Aparna Jyothi Date: Thu, 12 Jun 2025 11:54:26 +0530 Subject: [PATCH] updated the script --- .github/workflows/e2e-tests.yml | 9 ++--- __tests__/verify_windows_install_path_user.py | 33 +++++++++++-------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 77671c39..cb63e9b3 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -136,9 +136,10 @@ jobs: python-version: ${{ matrix.python-version }} architecture: ${{ matrix.architecture }} freethreaded: ${{ matrix.freethreaded }} - - name: Verify Install Path shell: pwsh - run: python __tests__/verify-windows-install-path.py `` - -arch ${{ matrix.architecture }} ` - -freethreaded ${{ matrix.freethreaded }} ` + run: | + python __tests__/verify-windows-install-path.py ` + ${{ matrix.python-version }} ` + ${{ matrix.architecture }} ` + ${{ matrix.freethreaded }} diff --git a/__tests__/verify_windows_install_path_user.py b/__tests__/verify_windows_install_path_user.py index 9ee8eb36..c0f65c8b 100644 --- a/__tests__/verify_windows_install_path_user.py +++ b/__tests__/verify_windows_install_path_user.py @@ -1,35 +1,42 @@ import os import sys +import re -def build_expected_path(architecture, freethreaded): - major = 3 - minor = 13 +def build_expected_path(python_version, architecture, freethreaded): + # Extract major and minor from full version like "3.13.1" or "3.14.0-beta.2" + match = re.match(r"^(\d+)\.(\d+)", python_version) + if not match: + print(f"Invalid python version format: {python_version}") + sys.exit(1) + + major, minor = match.groups() version_suffix = f"{major}{minor}" - if architecture == "x86" and (major > 3 or (major == 3 and minor >= 10)): - version_suffix += "-32" - elif architecture == "arm64": - version_suffix += "-arm64" - if freethreaded == "true": version_suffix += "t" if architecture == "x86": version_suffix += "-32" elif architecture == "arm64": version_suffix += "-arm64" + else: + if architecture == "x86": + version_suffix += "-32" + elif architecture == "arm64": + version_suffix += "-arm64" base_path = os.getenv("APPDATA", "") return os.path.join(base_path, "Python", f"Python{version_suffix}", "Scripts") def main(): - if len(sys.argv) != 3: - print("Usage: python verify_windows_install_path.py ") + if len(sys.argv) != 4: + print("Usage: python verify_windows_install_path.py ") sys.exit(1) - architecture = sys.argv[1] - freethreaded = sys.argv[2] + python_version = sys.argv[1] + architecture = sys.argv[2] + freethreaded = sys.argv[3] - expected_path = build_expected_path(architecture, freethreaded) + expected_path = build_expected_path(python_version, architecture, freethreaded) print(f"Expected PATH entry: {expected_path}") path_env = os.getenv("PATH", "")