/
niceSOFT
/
python3-hatchling
Обзор
Документация
Войти
/
niceSOFT
/
python3-hatchling
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/backend/metadata/test_build.py
82 строки
3 KB
Dimitri Papadopoulos Orfanos
Upgrade Ruff to 0.13.2 (#1890)
28 сен 2025, 21:20
Не верифицирован
28 сен 2025, 21:20
aff6f39
Код
Авторство
О чём код?
import pytest from packaging.requirements import Requirement from hatchling.metadata.core import BuildMetadata class TestRequires: def test_default(self, isolation): metadata = BuildMetadata(str(isolation), {}) assert metadata.requires == metadata.requires == [] def test_not_array(self, isolation): metadata = BuildMetadata(str(isolation), {"requires": 10}) with pytest.raises(TypeError, match="Field `build-system.requires` must be an array"): _ = metadata.requires def test_entry_not_string(self, isolation): metadata = BuildMetadata(str(isolation), {"requires": [10]}) with pytest.raises(TypeError, match="Dependency #1 of field `build-system.requires` must be a string"): _ = metadata.requires def test_invalid_specifier(self, isolation): metadata = BuildMetadata(str(isolation), {"requires": ["foo^1"]}) with pytest.raises(ValueError, match="Dependency #1 of field `build-system.requires` is invalid: .+"): _ = metadata.requires def test_correct(self, isolation): metadata = BuildMetadata(str(isolation), {"requires": ["foo", "bar", "Baz"]}) assert metadata.requires == metadata.requires == ["foo", "bar", "Baz"] def test_correct_complex_type(self, isolation): metadata = BuildMetadata(str(isolation), {"requires": ["foo"]}) assert isinstance(metadata.requires_complex, list) assert isinstance(metadata.requires_complex[0], Requirement) class TestBuildBackend: def test_default(self, isolation): metadata = BuildMetadata(str(isolation), {}) assert metadata.build_backend == metadata.build_backend == "" def test_not_string(self, isolation): metadata = BuildMetadata(str(isolation), {"build-backend": 10}) with pytest.raises(TypeError, match="Field `build-system.build-backend` must be a string"): _ = metadata.build_backend def test_correct(self, isolation): metadata = BuildMetadata(str(isolation), {"build-backend": "foo"}) assert metadata.build_backend == metadata.build_backend == "foo" class TestBackendPath: def test_default(self, isolation): metadata = BuildMetadata(str(isolation), {}) assert metadata.backend_path == metadata.backend_path == [] def test_not_array(self, isolation): metadata = BuildMetadata(str(isolation), {"backend-path": 10}) with pytest.raises(TypeError, match="Field `build-system.backend-path` must be an array"): _ = metadata.backend_path def test_entry_not_string(self, isolation): metadata = BuildMetadata(str(isolation), {"backend-path": [10]}) with pytest.raises(TypeError, match="Entry #1 of field `build-system.backend-path` must be a string"): _ = metadata.backend_path def test_correct(self, isolation): metadata = BuildMetadata(str(isolation), {"backend-path": ["foo", "bar", "Baz"]}) assert metadata.backend_path == metadata.backend_path == ["foo", "bar", "Baz"]