1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- """
- tests.support.cli_scripts
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- Code to generate Salt CLI scripts for test runs
- """
- import logging
- import os
- from tests.support.saltfactories_compat import generate_script
- log = logging.getLogger(__name__)
- def get_script_path(bin_dir, script_name):
- """
- Return the path to a testing runtime script, generating one if it does not yet exist
- """
- # Late import
- from tests.support.runtests import RUNTIME_VARS
- if not os.path.isdir(bin_dir):
- os.makedirs(bin_dir)
- cli_script_name = "cli_{}.py".format(script_name.replace("-", "_"))
- script_path = os.path.join(bin_dir, cli_script_name)
- if not os.path.isfile(script_path):
- generate_script(
- bin_dir=bin_dir,
- script_name=script_name,
- code_dir=RUNTIME_VARS.CODE_DIR,
- inject_coverage="COVERAGE_PROCESS_START" in os.environ,
- inject_sitecustomize="COVERAGE_PROCESS_START" in os.environ,
- )
- log.info("Returning script path %r", script_path)
- return script_path
- class ScriptPathMixin:
- def get_script_path(self, script_name):
- """
- Return the path to a testing runtime script
- """
- # Late import
- from tests.support.runtests import RUNTIME_VARS
- return get_script_path(RUNTIME_VARS.TMP_SCRIPT_DIR, script_name)
|