MCPcopy Create free account
hub / github.com/apache/tvm / _parametrize_correlated_parameters

Function _parametrize_correlated_parameters

python/tvm/testing/plugin.py:323–349  ·  view source on GitHub ↗
(metafunc)

Source from the content-addressed store, hash-verified

321
322
323def _parametrize_correlated_parameters(metafunc):
324 parametrize_needed = {}
325
326 for name, fixturedefs in metafunc.definition._fixtureinfo.name2fixturedefs.items():
327 fixturedef = fixturedefs[-1]
328 if hasattr(fixturedef.func, "parametrize_group") and hasattr(
329 fixturedef.func, "parametrize_values"
330 ):
331 group = fixturedef.func.parametrize_group
332 values = fixturedef.func.parametrize_values
333 ids = fixturedef.func.parametrize_ids
334 if group in parametrize_needed:
335 assert ids == parametrize_needed[group]["ids"]
336 else:
337 parametrize_needed[group] = {"ids": ids, "params": []}
338 parametrize_needed[group]["params"].append((name, values))
339
340 for parametrize_group in parametrize_needed.values():
341 params = parametrize_group["params"]
342 ids = parametrize_group["ids"]
343 if len(params) == 1:
344 name, values = params[0]
345 metafunc.parametrize(name, values, indirect=True, ids=ids)
346 else:
347 names = ",".join(name for name, values in params)
348 value_sets = zip(*[values for name, values in params])
349 metafunc.parametrize(names, value_sets, indirect=True, ids=ids)
350
351
352# pytest-xdist isn't required but is used in CI, so guard on its presence

Callers 1

pytest_generate_testsFunction · 0.85

Calls 4

itemsMethod · 0.45
appendMethod · 0.45
valuesMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…