class CliRunner: (source)
The CLI runner provides functionality to invoke a Click command line script for unittesting purposes in a isolated environment. This only works in single-threaded systems without any concurrency as it changes the global interpreter state. :param charset: the character set for the input and output data. :param env: a dictionary with environment variables for overriding. :param echo_stdin: if this is set to `True`, then reading from stdin writes to stdout. This is useful for showing examples in some circumstances. Note that regular prompts will automatically echo the input. :param mix_stderr: if this is set to `False`, then stdout and stderr are preserved as independent streams. This is useful for Unix-philosophy apps that have predictable stdout and noisy stderr, such that each may be measured independently
Method | __init__ |
Undocumented |
Method | get |
Given a command object it will return the default program name for it. The default is the `name` attribute or ``"root"`` if not set. |
Method | invoke |
Invokes a command in an isolated environment. The arguments are forwarded directly to the command line script, the `extra` keyword arguments are passed to the :meth:`~clickpkg.Command.main` function of the command. |
Method | isolated |
A context manager that creates a temporary directory and changes the current working directory to it. This isolates tests that affect the contents of the CWD to prevent them from interfering with each other. |
Method | isolation |
A context manager that sets up the isolation for invoking of a command line tool. This sets up stdin with the given input data and `os.environ` with the overrides from the given dictionary. This also rebinds some internals in Click to be mocked (like the prompt functionality). |
Method | make |
Returns the environment overrides for invoking a script. |
Instance Variable | charset |
Undocumented |
Instance Variable | echo |
Undocumented |
Instance Variable | env |
Undocumented |
Instance Variable | mix |
Undocumented |
Undocumented
Parameters | |
charset:str | Undocumented |
env:t.Optional[ | Undocumented |
echobool | Undocumented |
mixbool | Undocumented |
Given a command object it will return the default program name for it. The default is the `name` attribute or ``"root"`` if not set.
Parameters | |
cli:BaseCommand | Undocumented |
Returns | |
str | Undocumented |
Invokes a command in an isolated environment. The arguments are forwarded directly to the command line script, the `extra` keyword arguments are passed to the :meth:`~clickpkg.Command.main` function of the command. This returns a :class:`Result` object. :param cli: the command to invoke :param args: the arguments to invoke. It may be given as an iterable or a string. When given as string it will be interpreted as a Unix shell command. More details at :func:`shlex.split`. :param input: the input data for `sys.stdin`. :param env: the environment overrides. :param catch_exceptions: Whether to catch any other exceptions than ``SystemExit``. :param extra: the keyword arguments to pass to :meth:`main`. :param color: whether the output should contain color codes. The application can still override this explicitly. .. versionchanged:: 8.0 The result object has the ``return_value`` attribute with the value returned from the invoked command. .. versionchanged:: 4.0 Added the ``color`` parameter. .. versionchanged:: 3.0 Added the ``catch_exceptions`` parameter. .. versionchanged:: 3.0 The result object has the ``exc_info`` attribute with the traceback if available.
Parameters | |
cli:BaseCommand | Undocumented |
args:t.Optional[ | Undocumented |
input:t.Optional[ | Undocumented |
env:t.Optional[ | Undocumented |
catchbool | Undocumented |
color:bool | Undocumented |
**extra:t.Any | Undocumented |
Returns | |
Result | Undocumented |
A context manager that creates a temporary directory and changes the current working directory to it. This isolates tests that affect the contents of the CWD to prevent them from interfering with each other. :param temp_dir: Create the temporary directory under this directory. If given, the created directory is not removed when exiting. .. versionchanged:: 8.0 Added the ``temp_dir`` parameter.
Parameters | |
tempt.Optional[ | Undocumented |
Returns | |
t.Iterator[ | Undocumented |
A context manager that sets up the isolation for invoking of a command line tool. This sets up stdin with the given input data and `os.environ` with the overrides from the given dictionary. This also rebinds some internals in Click to be mocked (like the prompt functionality). This is automatically done in the :meth:`invoke` method. :param input: the input stream to put into sys.stdin. :param env: the environment overrides as dictionary. :param color: whether the output should contain color codes. The application can still override this explicitly. .. versionchanged:: 8.0 ``stderr`` is opened with ``errors="backslashreplace"`` instead of the default ``"strict"``. .. versionchanged:: 4.0 Added the ``color`` parameter.
Parameters | |
input:t.Optional[ | Undocumented |
env:t.Optional[ | Undocumented |
color:bool | Undocumented |
Returns | |
t.Iterator[ | Undocumented |
Returns the environment overrides for invoking a script.
Parameters | |
overrides:t.Optional[ | Undocumented |
Returns | |
t.Mapping[ | Undocumented |