Skip to content

Commit 4baf8e9

Browse files
committed
Fixes “class” mode to fall back to module name for tests with no class so that other tests aren’t all in one bucket like with “global” option.
1 parent c74ad6c commit 4baf8e9

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

pytest_random_order.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def pytest_report_header(config):
2929
'global': lambda x: None,
3030
'package': lambda x: x.module.__package__,
3131
'module': lambda x: x.module.__name__,
32-
'class': lambda x: (x.module.__name__, x.cls.__name__) if x.cls else None,
32+
'class': lambda x: (x.module.__name__, x.cls.__name__) if x.cls else x.module.__name__,
3333
}
3434

3535

tests/test_actual_test_runs.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
Call = collections.namedtuple('Call', field_names=('package', 'module', 'cls', 'name'))
99

1010

11-
def get_runtest_call_sequence(result, key=None):
11+
def get_runtest_call_sequence(result):
1212
"""
1313
Returns a tuple of names of test methods that were run
1414
in the order they were run.
@@ -145,12 +145,14 @@ def inspect_attr(this_call, prev_call, attr_name):
145145
elif shuffle_mode == 'module':
146146
assert num_module_switches == num_modules
147147

148-
elif shuffle_mode == 'cls':
148+
elif shuffle_mode == 'class':
149149
# Each class can contribute to 1 or 2 switches.
150150
assert num_class_switches <= num_classes * 2
151151

152-
# Class shuffle is a subset of module shuffle
153-
assert num_module_switches == num_modules
152+
# Class shuffle is a subset of module shuffle.
153+
# We have two classes in one module and these could be reshuffled so
154+
# the module could appear in sequence of buckets two times.
155+
assert num_modules <= num_module_switches <= num_modules + 1
154156

155157

156158
@pytest.mark.parametrize('mode', ['class', 'module', 'package', 'global'])

0 commit comments

Comments
 (0)