def pytest_configure(config): if config.getoption("help"): return arg_dict, rule_dict = _load_argdict_rule_dict(config) _init_arjuna(config, arg_dict) gname = config.getoption("group").lower() if gname == "mgroup": group = TestGroup.from_pickers(rconf_name=config.getoption("ref.conf"), rules=rule_dict) else: filtered_rule_dict = {k: v for k, v in rule_dict.items() if v} if filtered_rule_dict: raise Exception( "When you provide a group name, you can not provide test selectors/rules in Command line. You have provided group name as >>{}<< and also provided selectors/rules: {}." .format(gname, {k: v for k, v in filtered_rule_dict.items() if v})) else: group = TestGroup.from_def(gname, rconf_name=config.getoption("ref.conf")) _configure_pytest_reports(config) from arjuna import Arjuna Arjuna._set_command(" ".join(RAW_ARGS)) Arjuna.register_pytest_command_for_group(" ".join(CONVERTED_ARGS)) PytestHooks.add_env_data(config)
def __init__(self, args): super().__init__() self._args = args from arjuna import Arjuna Arjuna._set_command(" ".join(self._args)) self.arg_dict = None self.main_command = MainCommand() # Create parser for primary commands subparsers = self.main_command.create_subparsers() # Create re-usable parses for command arguments new_project_parser = NewProjectParser() # Create primary command handlers self.create_project = CreateProject(subparsers, [new_project_parser])