diff --git a/CHANGES/251.contrib.rst b/CHANGES/251.contrib.rst new file mode 100644 index 0000000..b1c735f --- /dev/null +++ b/CHANGES/251.contrib.rst @@ -0,0 +1,2 @@ +Fixed coverage for testing benchmarks when codspeed is not installed +-- by :user:`Vizonex`. diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index 2b4483e..d7a1b82 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -21,6 +21,7 @@ booleans bools changelog changelogs +codspeed config de decodable @@ -45,6 +46,7 @@ preinstalled propcache pypa pyproject +pytest rc reStructuredText reencoding diff --git a/tests/test_benchmarks.py b/tests/test_benchmarks.py index d96cd07..c33ea68 100644 --- a/tests/test_benchmarks.py +++ b/tests/test_benchmarks.py @@ -1,16 +1,20 @@ """codspeed benchmarks for propcache.""" +import typing as _t + import pytest -try: - from pytest_codspeed import BenchmarkFixture -except ImportError: - pytestmark = pytest.mark.skip("pytest_codspeed needs to be installed") +if TYPE_CHECKING: + import pytest_codspeed +else: + pytest_codspeed = pytest.importorskip("pytest_codspeed") from propcache import cached_property, under_cached_property -def test_under_cached_property_cache_hit(benchmark: "BenchmarkFixture") -> None: +def test_under_cached_property_cache_hit( + benchmark: pytest_codspeed.BenchmarkFixture, +) -> None: """Benchmark for under_cached_property cache hit.""" class Test: @@ -30,7 +34,7 @@ def _run() -> None: t.prop -def test_cached_property_cache_hit(benchmark: "BenchmarkFixture") -> None: +def test_cached_property_cache_hit(benchmark: pytest_codspeed.BenchmarkFixture) -> None: """Benchmark for cached_property cache hit.""" class Test: @@ -50,7 +54,9 @@ def _run() -> None: t.prop -def test_under_cached_property_cache_miss(benchmark: "BenchmarkFixture") -> None: +def test_under_cached_property_cache_miss( + benchmark: pytest_codspeed.BenchmarkFixture, +) -> None: """Benchmark for under_cached_property cache miss.""" class Test: @@ -72,7 +78,9 @@ def _run() -> None: t.prop -def test_cached_property_cache_miss(benchmark: "BenchmarkFixture") -> None: +def test_cached_property_cache_miss( + benchmark: pytest_codspeed.BenchmarkFixture, +) -> None: """Benchmark for cached_property cache miss.""" class Test: