Trim and tighten code comments and docstrings across the repository. Comment-only: every changed file verified code-identical to main via AST/token comparison.
55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
# SPDX-License-Identifier: AGPL-3.0-only
|
|
# Copyright 2026-present the Unsloth AI Inc. team. All rights reserved. See /studio/LICENSE.AGPL-3.0
|
|
|
|
"""Tests for UNSLOTH_PYTORCH_MIRROR env var in install_python_stack.py."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import importlib
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
# install_python_stack.py lives at repo_root/studio/install_python_stack.py
|
|
_INSTALL_SCRIPT = Path(__file__).resolve().parents[2] / "install_python_stack.py"
|
|
|
|
OFFICIAL_URL = "https://download.pytorch.org/whl"
|
|
|
|
|
|
def _reload_whl_base(monkeypatch, mirror_value = None):
|
|
"""(Re-)import install_python_stack with a controlled env, return _PYTORCH_WHL_BASE."""
|
|
# Drop cached module so the module-level assignment re-executes.
|
|
sys.modules.pop("install_python_stack", None)
|
|
|
|
if mirror_value is None:
|
|
monkeypatch.delenv("UNSLOTH_PYTORCH_MIRROR", raising = False)
|
|
else:
|
|
monkeypatch.setenv("UNSLOTH_PYTORCH_MIRROR", mirror_value)
|
|
|
|
# Add the script's directory to sys.path for import.
|
|
script_dir = str(_INSTALL_SCRIPT.parent)
|
|
monkeypatch.syspath_prepend(script_dir)
|
|
|
|
import install_python_stack
|
|
|
|
return install_python_stack._PYTORCH_WHL_BASE
|
|
|
|
|
|
class TestPyTorchMirrorEnvVar:
|
|
"""UNSLOTH_PYTORCH_MIRROR controls _PYTORCH_WHL_BASE in install_python_stack."""
|
|
|
|
def test_unset_uses_official_url(self, monkeypatch):
|
|
assert _reload_whl_base(monkeypatch) == OFFICIAL_URL
|
|
|
|
def test_empty_string_falls_back_to_official(self, monkeypatch):
|
|
assert _reload_whl_base(monkeypatch, "") == OFFICIAL_URL
|
|
|
|
def test_custom_mirror_is_used(self, monkeypatch):
|
|
mirror = "https://mirrors.nju.edu.cn/pytorch/whl"
|
|
assert _reload_whl_base(monkeypatch, mirror) == mirror
|
|
|
|
def test_trailing_slash_stripped(self, monkeypatch):
|
|
result = _reload_whl_base(monkeypatch, "https://example.com/whl/")
|
|
assert result == "https://example.com/whl"
|