attrs/tests/test_packaging.py

43 lines
1.0 KiB
Python

# SPDX-License-Identifier: MIT
from importlib import metadata
import pytest
import attr
import attrs
@pytest.fixture(name="mod", params=(attr, attrs))
def _mod(request):
return request.param
class TestLegacyMetadataHack:
def test_version(self, mod, recwarn):
"""
__version__ returns the correct version and doesn't warn.
"""
assert metadata.version("attrs") == mod.__version__
assert [] == recwarn.list
def test_does_not_exist(self, mod):
"""
Asking for unsupported dunders raises an AttributeError.
"""
with pytest.raises(
AttributeError,
match=f"module {mod.__name__} has no attribute __yolo__",
):
mod.__yolo__
def test_version_info(self, recwarn, mod):
"""
___version_info__ is not deprecated, therefore doesn't raise a warning
and parses correctly.
"""
assert isinstance(mod.__version_info__, attr.VersionInfo)
assert [] == recwarn.list