Skip to content

Commit 3757d33

Browse files
added support for marking entire classes
1 parent 639dd02 commit 3757d33

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

pytest_ordering/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import re
2-
3-
from ._version import __version__
4-
2+
from collections import defaultdict
53

64
replacements = {
75
'first': 0,
@@ -67,7 +65,7 @@ def split(dictionary):
6765

6866

6967
def _order_tests(tests):
70-
ordered_tests = {}
68+
ordered_tests = defaultdict(list)
7169
remaining_tests = []
7270
for test in tests:
7371
# There has got to be an API for this. :-/
@@ -76,20 +74,22 @@ def _order_tests(tests):
7674
if orderable(k, v)]
7775
if len(orderable_markers) == 1:
7876
marker_name, marker_info = orderable_markers[0]
79-
ordered_tests[get_index(marker_name, marker_info)] = test
77+
ordered_tests[get_index(marker_name, marker_info)].append(test)
8078
else:
8179
remaining_tests.append(test)
8280
from_beginning, from_end = split(ordered_tests)
8381
remaining_iter = iter(remaining_tests)
8482
for i in range(max(from_beginning or [-1]) + 1):
8583
if i in from_beginning:
86-
yield from_beginning[i]
84+
for e in from_beginning[i]:
85+
yield e
8786
else:
8887
yield next(remaining_iter)
8988
# TODO TODO TODO
9089
for i in range(min(from_end or [0]), 0):
9190
if i in from_end:
92-
yield from_end[i]
91+
for e in from_end[i]:
92+
yield e
9393
else:
9494
yield next(remaining_iter)
9595
for test in remaining_iter:

0 commit comments

Comments
 (0)