def pytest_generate_tests(metafunc): if 'ctx_and_double' in metafunc.funcargnames: parametrize_context_tuple(metafunc, 'ctx_and_double', pair_context_with_doubles) if 'ctx' in metafunc.funcargnames: ccs, cc_ids = get_contexts(metafunc.config) metafunc.parametrize('ctx', ccs, ids=cc_ids, indirect=True) if 'some_ctx' in metafunc.funcargnames: # Just some context for tests that only check context-independent stuff. ccs, cc_ids = get_contexts(metafunc.config) metafunc.parametrize('some_ctx', [ccs[0]], ids=[cc_ids[0]], indirect=True) if 'cluda_api' in metafunc.funcargnames: apis, api_ids = get_apis(metafunc.config) metafunc.parametrize('cluda_api', apis, ids=api_ids)
def pytest_generate_tests(metafunc): if 'ctx_with_gs_limits' in metafunc.funcargnames: parametrize_context_tuple(metafunc, 'ctx_with_gs_limits', set_context_gs_limits) if 'gs_is_multiple' in metafunc.funcargnames: metafunc.parametrize('gs_is_multiple', [True, False], ids=["gs_is_multiple", "gs_is_not_multiple"]) if 'gl_size' in metafunc.funcargnames: grid_sizes = [ (13,), (35,), (31*31*4,), (13, 15), (35, 13), (13, 15, 17), (75, 33, 5)] local_sizes = [(4,), (4, 4), (4, 4, 4)] gl_sizes = [(g, l) for g, l in itertools.product(grid_sizes, local_sizes) if len(g) == len(l)] metafunc.parametrize('gl_size', gl_sizes, ids=[str(x) for x in gl_sizes]) if 'incorrect_gl_size' in metafunc.funcargnames: grid_sizes = [ (31**3+1,), (31**2, 32), (31*20, 31*20), (31, 31, 32), (150, 150, 150)] local_sizes = [(4,), (4, 4), (4, 4, 4)] gl_sizes = [(g, l) for g, l in itertools.product(grid_sizes, local_sizes) if len(g) == len(l)] metafunc.parametrize('incorrect_gl_size', gl_sizes, ids=[str(x) for x in gl_sizes])
def pytest_generate_tests(metafunc): if 'ctx_and_global_size' in metafunc.funcargnames: parametrize_context_tuple(metafunc, 'ctx_and_global_size', pair_context_with_gs)