|
1 | 1 | import pytest |
2 | 2 |
|
3 | | -pytest_plugins = ('benchmark', 'pkgcraft') |
| 3 | +pytest_plugins = ("benchmark", "pkgcraft") |
4 | 4 |
|
5 | 5 | from pkgcore.ebuild.atom import atom as pkgcore_atom |
6 | 6 | from portage.dep import Atom as portage_atom |
|
11 | 11 | def random_atom(func, random_str): |
12 | 12 | cat = random_str() |
13 | 13 | pkg = random_str() |
14 | | - s = f'=cat_{cat}/pkg_{pkg}-1-r2:3/4=[a,b,c]' |
| 14 | + s = f"=cat_{cat}/pkg_{pkg}-1-r2:3/4=[a,b,c]" |
15 | 15 | return func(s) |
16 | 16 |
|
| 17 | + |
17 | 18 | atom_funcs = [ |
18 | | - ('pkgcraft', pkgcraft_atom), |
19 | | - ('pkgcraft', pkgcraft_atom.cached), |
20 | | - ('pkgcore', pkgcore_atom), |
21 | | - ('portage', portage_atom), |
| 19 | + ("pkgcraft", pkgcraft_atom), |
| 20 | + ("pkgcraft", pkgcraft_atom.cached), |
| 21 | + ("pkgcore", pkgcore_atom), |
| 22 | + ("portage", portage_atom), |
22 | 23 | ] |
23 | 24 |
|
| 25 | + |
24 | 26 | @pytest.mark.parametrize("lib,func", atom_funcs) |
25 | 27 | def test_bench_atom_static(benchmark, lib, func): |
26 | | - benchmark(func, '=cat/pkg-1-r2:3/4=[a,b,c]') |
| 28 | + benchmark(func, "=cat/pkg-1-r2:3/4=[a,b,c]") |
| 29 | + |
27 | 30 |
|
28 | 31 | @pytest.mark.parametrize("lib,func", atom_funcs) |
29 | 32 | def test_bench_atom_random(benchmark, random_str, lib, func): |
30 | 33 | benchmark(random_atom, func, random_str) |
31 | 34 |
|
| 35 | + |
32 | 36 | @pytest.mark.parametrize("lib,func", atom_funcs) |
33 | 37 | def test_bench_atom_property(benchmark, lib, func): |
34 | | - atom = func('=cat/pkg-1-r2:3/4=[a,b,c]') |
35 | | - version = benchmark(getattr, atom, 'version') |
36 | | - assert str(version).startswith('1') |
| 38 | + atom = func("=cat/pkg-1-r2:3/4=[a,b,c]") |
| 39 | + version = benchmark(getattr, atom, "version") |
| 40 | + assert str(version).startswith("1") |
| 41 | + |
37 | 42 |
|
38 | 43 | @pytest.mark.parametrize("lib,func", atom_funcs) |
39 | 44 | def test_bench_atom_property_none(benchmark, lib, func): |
40 | | - atom = func('cat/pkg') |
41 | | - version = benchmark(getattr, atom, 'version') |
| 45 | + atom = func("cat/pkg") |
| 46 | + version = benchmark(getattr, atom, "version") |
42 | 47 | assert version is None |
43 | 48 |
|
| 49 | + |
44 | 50 | # portage atoms don't natively support comparisons |
45 | | -@pytest.mark.parametrize("lib,func", (('pkgcraft', pkgcraft_atom), ('pkgcore', pkgcore_atom))) |
| 51 | +@pytest.mark.parametrize("lib,func", (("pkgcraft", pkgcraft_atom), ("pkgcore", pkgcore_atom))) |
46 | 52 | def test_bench_atom_sorting_worst_case(benchmark, lib, func): |
47 | | - atoms = [func(f'=cat/pkg-{v}-r1:2/3=[a,b,c]') for v in reversed(range(100))] |
| 53 | + atoms = [func(f"=cat/pkg-{v}-r1:2/3=[a,b,c]") for v in reversed(range(100))] |
48 | 54 | result = benchmark(sorted, atoms) |
49 | 55 | assert result == list(reversed(atoms)) |
50 | 56 |
|
| 57 | + |
51 | 58 | # portage atoms don't natively support comparisons |
52 | | -@pytest.mark.parametrize("lib,func", (('pkgcraft', pkgcraft_atom), ('pkgcore', pkgcore_atom))) |
| 59 | +@pytest.mark.parametrize("lib,func", (("pkgcraft", pkgcraft_atom), ("pkgcore", pkgcore_atom))) |
53 | 60 | def test_bench_atom_sorting_best_case(benchmark, lib, func): |
54 | | - atoms = [func(f'=cat/pkg-{v}-r1:2/3=[a,b,c]') for v in range(100)] |
| 61 | + atoms = [func(f"=cat/pkg-{v}-r1:2/3=[a,b,c]") for v in range(100)] |
55 | 62 | result = benchmark(sorted, atoms) |
56 | 63 | assert result == atoms |
0 commit comments