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_report_header(config): ccs, cc_ids = get_contexts(config) devices = { cc.device_id: (cc.platform_name + ", " + cc.device_name) for cc in ccs } if len(devices) == 0: raise ValueError("No devices match the criteria") print("Running tests on:") for device_id in sorted(devices): print(" " + device_id + ": " + devices[device_id])