LogCliRunner¶
-
class
lsst.daf.butler.cli.utils.
LogCliRunner
(charset=None, env=None, echo_stdin=False, mix_stderr=True)¶ Bases:
click.testing.CliRunner
A test runner to use when the logging system will be initialized by code under test, calls CliLog.resetLog(), which undoes any logging setup that was done with the CliLog interface.
lsst.log modules can not be set back to an uninitialized state (python logging modules can be set back to NOTSET), instead they are set to
CliLog.defaultLsstLogLevel
.Methods Summary
get_default_prog_name
(cli)Given a command object it will return the default program name for it. invoke
(*args, **kwargs)Invokes a command in an isolated environment. isolated_filesystem
()A context manager that creates a temporary folder and changes the current working directory to it for isolated filesystem tests. isolation
([input, env, color])A context manager that sets up the isolation for invoking of a command line tool. make_env
([overrides])Returns the environment overrides for invoking a script. Methods Documentation
-
get_default_prog_name
(cli)¶ Given a command object it will return the default program name for it. The default is the
name
attribute or"root"
if not set.
-
invoke
(*args, **kwargs)¶ Invokes a command in an isolated environment. The arguments are forwarded directly to the command line script, the
extra
keyword arguments are passed to themain()
function of the command.This returns a
Result
object.New in version 3.0: The
catch_exceptions
parameter was added.Changed in version 3.0: The result object now has an
exc_info
attribute with the traceback if available.New in version 4.0: The
color
parameter was added.Parameters: - cli – the command to invoke
- 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
shlex.split()
. - input – the input data for
sys.stdin
. - env – the environment overrides.
- catch_exceptions – Whether to catch any other exceptions than
SystemExit
. - extra – the keyword arguments to pass to
main()
. - color – whether the output should contain color codes. The application can still override this explicitly.
-
isolated_filesystem
()¶ A context manager that creates a temporary folder and changes the current working directory to it for isolated filesystem tests.
-
isolation
(input=None, env=None, color=False)¶ 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
invoke()
method.New in version 4.0: The
color
parameter was added.Parameters: - input – the input stream to put into sys.stdin.
- env – the environment overrides as dictionary.
- color – whether the output should contain color codes. The application can still override this explicitly.
-
make_env
(overrides=None)¶ Returns the environment overrides for invoking a script.
-