in conftest.py [0:0]
def pytest_generate_tests(metafunc):
import re
name_regex = re.compile(r"\s*(?P<name>[a-z0-9\-\_]+)\s*$")
if "application" in metafunc.fixturenames:
from ramble.main import RambleCommand
list_cmd = RambleCommand("list")
all_applications = []
repo_apps = list_cmd().split("\n")
for app_str in repo_apps:
m = name_regex.match(app_str)
if m:
all_applications.append(m.group("name"))
metafunc.parametrize("application", all_applications)
if "modifier" in metafunc.fixturenames:
from ramble.main import RambleCommand
list_cmd = RambleCommand("list")
all_modifiers = []
repo_mods = list_cmd("--type", "modifiers").split("\n")
for mod_str in repo_mods:
m = name_regex.match(mod_str)
if m:
all_modifiers.append(m.group("name"))
metafunc.parametrize("modifier", all_modifiers)
if "mock_modifier" in metafunc.fixturenames:
obj_type = ramble.repository.ObjectTypes.modifiers
repo_path = ramble.repository.Repo(ramble.paths.mock_builtin_path, obj_type)
all_modifiers = []
for mod_name in repo_path.all_object_names():
all_modifiers.append(mod_name)
metafunc.parametrize("mock_modifier", all_modifiers)
if "package_manager" in metafunc.fixturenames:
from ramble.main import RambleCommand
list_cmd = RambleCommand("list")
all_package_managers = ["None"]
repo_pms = list_cmd("--type", "package_managers").split("\n")
for pm_str in repo_pms:
m = name_regex.match(pm_str)
if m:
all_package_managers.append(m.group("name"))
metafunc.parametrize("package_manager", all_package_managers)
if "mock_package_managers" in metafunc.fixturenames:
obj_type = ramble.repository.ObjectTypes.package_managers
repo_path = ramble.repository.Repo(ramble.paths.mock_builtin_path, obj_type)
all_package_managers = ["None"]
for mod_name in repo_path.all_object_names():
all_package_managers.append(mod_name)
metafunc.parametrize("mock_package_managers", all_package_managers)
if "workflow_manager" in metafunc.fixturenames:
from ramble.main import RambleCommand
list_cmd = RambleCommand("list")
all_workflow_managers = ["None"]
repo_pms = list_cmd("--type", "workflow_managers").split("\n")
for pm_str in repo_pms:
m = name_regex.match(pm_str)
if m:
all_workflow_managers.append(m.group("name"))
metafunc.parametrize("workflow_manager", all_workflow_managers)
if "mock_workflow_managers" in metafunc.fixturenames:
obj_type = ramble.repository.ObjectTypes.workflow_managers
repo_path = ramble.repository.Repo(ramble.paths.mock_builtin_path, obj_type)
all_workflow_managers = ["None"]
for mod_name in repo_path.all_object_names():
all_workflow_managers.append(mod_name)
metafunc.parametrize("mock_workflow_managers", all_workflow_managers)
if "config_section" in metafunc.fixturenames:
from ramble.main import RambleCommand
config_cmd = RambleCommand("config")
all_sections = []
config_sections = config_cmd("list").split(" ")
for section_str in config_sections:
if section_str != "":
all_sections.append(section_str.strip())
metafunc.parametrize("config_section", all_sections)