Skip to content

Commit 3857696

Browse files
committed
Move out perf tests in separate file and specify test deps as dependency-groups, see: https://packaging.python.org/en/latest/specifications/dependency-groups/
Ref #90.
1 parent 3143125 commit 3857696

File tree

4 files changed

+24
-13
lines changed

4 files changed

+24
-13
lines changed

pyproject.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ requires = [
55
]
66
build-backend = "setuptools.build_meta"
77

8+
[dependency-groups]
9+
test = [
10+
"pytest",
11+
]
12+
benchmark = [
13+
"pytest-benchmark",
14+
"Django",
15+
"objproxies==0.9.4",
16+
]
17+
818
[project]
919
dynamic = [
1020
"readme",

tests/test_lazy_object_proxy.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1810,14 +1810,6 @@ def test_garbage_collection_count(lop):
18101810
assert count == sys.getrefcount(obj)
18111811

18121812

1813-
@pytest.mark.parametrize('name', ['slots', 'cext', 'simple', 'django', 'objproxies'])
1814-
def test_perf(benchmark, name, lop_loader):
1815-
implementation = lop_loader(name)
1816-
obj = 'foobar'
1817-
proxied = implementation.Proxy(lambda: obj)
1818-
assert benchmark(partial(str, proxied)) == obj
1819-
1820-
18211813
empty = object()
18221814

18231815

tests/test_perf.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from functools import partial
2+
3+
import pytest
4+
5+
6+
@pytest.mark.parametrize('name', ['slots', 'cext', 'simple', 'django', 'objproxies'])
7+
def test_perf(benchmark, name, lop_loader):
8+
implementation = lop_loader(name)
9+
obj = 'foobar'
10+
proxied = implementation.Proxy(lambda: obj)
11+
assert benchmark(partial(str, proxied)) == obj

tox.ini

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ package = sdist
2929
usedevelop =
3030
cover: true
3131
nocov: false
32+
dependency_groups =
33+
test
34+
benchmark
3235
deps =
33-
pytest
34-
pytest-benchmark
35-
Django
36-
objproxies==0.9.4
37-
hunter
3836
setuptools>=80
3937
setuptools_scm>=8
4038
cover: pytest-cov

0 commit comments

Comments
 (0)