MCPcopy
hub / github.com/pytest-dev/pytest / reorder_items

Function reorder_items

src/_pytest/fixtures.py:255–273  ·  view source on GitHub ↗
(items: Sequence[nodes.Item])

Source from the content-addressed store, hash-verified

253
254
255def reorder_items(items: Sequence[nodes.Item]) -> list[nodes.Item]:
256 argkeys_by_item: dict[Scope, dict[nodes.Item, OrderedSet[ParamArgKey]]] = {}
257 items_by_argkey: dict[Scope, dict[ParamArgKey, OrderedDict[nodes.Item, None]]] = {}
258 for scope in HIGH_SCOPES:
259 scoped_argkeys_by_item = argkeys_by_item[scope] = {}
260 scoped_items_by_argkey = items_by_argkey[scope] = defaultdict(OrderedDict)
261 for item in items:
262 argkeys = dict.fromkeys(get_param_argkeys(item, scope))
263 if argkeys:
264 scoped_argkeys_by_item[item] = argkeys
265 for argkey in argkeys:
266 scoped_items_by_argkey[argkey][item] = None
267
268 items_set = dict.fromkeys(items)
269 return list(
270 reorder_items_atscope(
271 items_set, argkeys_by_item, items_by_argkey, Scope.Session
272 )
273 )
274
275
276def reorder_items_atscope(

Callers 1

Calls 2

get_param_argkeysFunction · 0.85
reorder_items_atscopeFunction · 0.85

Tested by

no test coverage detected