Module for running arbitrary tests
Print out the data passed into the function *args
and kwargs
, this
is used to both test the publication data and CLI argument passing, but
also to display the information available within the publication data.
{"args": args, "kwargs": kwargs}
CLI Example:
salt '*' test.arg 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
Like test.arg
but cleans kwargs
of the __pub*
items
CLI Example:
salt '*' test.arg_clean 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
Print out the data passed into the function *args
and kwargs
, this
is used to both test the publication data and CLI argument passing, but
also to display the information available within the publication data.
{"args": repr(args), "kwargs": repr(kwargs)}
CLI Example:
salt '*' test.arg_repr 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
Print out the types of the args
and kwargs
. This is used to test the types
of the args
and kwargs
passed down to the Minion
CLI Example:
salt '*' test.arg_type 1 'int'
Assert the given argument
CLI Example:
salt '*' test.assertion False
Call grains.items via the attribute
CLI Example:
salt '*' test.attr_call
Execute the collatz conjecture from the passed starting number, returns the sequence and the time it took to compute. Used for performance tests.
CLI Example:
salt '*' test.collatz 3
Return the value for test.foo in the minion configuration file, or return the default value
CLI Example:
salt '*' test.conf_test
Execute a minion function via the __salt__
object in the test
module, used to verify that the Minion functions can be called
via the __salt__
module.
CLI Example:
salt '*' test.cross_test file.gid_to_group 0
Return True, but also produce two DeprecationWarnings. One by date, the other by the codename - release Oganesson, which should correspond to Salt 3108.
CLI Example:
salt \* test.deprecation_warning
Return a string - used for testing the connection
CLI Example:
salt '*' test.echo 'foo bar baz quo qux'
Raise an exception
Optionally provide an error message or output the full stack.
CLI Example:
salt '*' test.exception 'Oh noes!'
Always return False
CLI Example:
salt '*' test.false
Return the num
-th Fibonacci number, and the time it took to compute in
seconds. Used for performance tests.
This function is designed to have terrible performance.
CLI Example:
salt '*' test.fib 3
Return the configuration options passed to this minion
CLI Example:
salt '*' test.get_opts
Print out the data passed into the function **kwargs
, this is used to
both test the publication data and CLI kwarg
passing, but also to display
the information available within the publication data.
CLI Example:
salt '*' test.kwarg num=1 txt="two" env='{a: 1, b: "hello"}'
Return a dict containing all of the execution modules with a report on the overall availability via different references
CLI Example:
salt '*' test.module_report
List the modules that were not loaded by the salt loader system
CLI Example:
salt '*' test.not_loaded
Return an opts
package with the grains
and opts
for this Minion.
This is primarily used to create the options used for Master side
state compiling routines
CLI Example:
salt '*' test.opts_pkg
Test the outputter, pass in data to return
CLI Example:
salt '*' test.outputter foobar
Used to make sure the minion is up and responding. Not an ICMP ping.
Returns True
.
CLI Example:
salt '*' test.ping
Pass in a function name to discover what provider is being used
CLI Example:
salt '*' test.provider service
Return a dict of the provider names and the files that provided them
CLI Example:
salt '*' test.providers
Raise an exception. Built-in exceptions and those in
salt.exceptions
can be raised by this test function. If no matching exception is found,
then no exception will be raised and this function will return False
.
This function is designed to test Salt's exception and return code handling.
CLI Example:
salt '*' test.raise_exception TypeError "An integer is required"
salt '*' test.raise_exception salt.exceptions.CommandExecutionError "Something went wrong"
Sleep for a random number of seconds, used to test long-running commands and minions returning at differing intervals
CLI Example:
salt '*' test.rand_sleep 60
This function has been renamed to
test.random_hash
. This function will stay to
ensure backwards compatibility, but please switch to using the preferred name
test.random_hash
.
New in version 2015.5.2.
Changed in version 2018.3.0: Function has been renamed from test.rand_str
to
test.random_hash
Generates a random number between 1 and size
, then returns a hash of
that number. If no hash_type
is passed, the hash_type
specified by the
Minion's hash_type
config option is used.
CLI Example:
salt '*' test.random_hash
salt '*' test.random_hash hash_type=sha512
Test that the returncode system is functioning correctly
CLI Example:
salt '*' test.retcode 42
Instruct the minion to initiate a process that will sleep for a given period of time.
CLI Example:
salt '*' test.sleep 20
Return the current stack trace
CLI Example:
salt '*' test.stack
Always return True
CLI Example:
salt '*' test.true
Try to run a module command. On an exception return None
.
If return_try_exception
is set to True
, return the exception.
This can be helpful in templates where running a module might fail as expected.
Jinja Example:
{% for i in range(0,230) %}
{{ salt['test.try'](module='ipmi.get_users', bmc_host='172.2.2.'+i)|yaml(False) }}
{% endfor %}
Deprecated! Moved to cmd.tty
CLI Example:
salt '*' test.tty tty0 'This is a test'
salt '*' test.tty pts3 'This is a test'
Return the version of salt on the minion
CLI Example:
salt '*' test.version
This function is an alias of versions_report
.
Returns versions of components used by salt
CLI Example:
salt '*' test.versions_report
Report the versions of dependent and system software
CLI Example:
salt '*' test.versions_information
Returns versions of components used by salt
CLI Example:
salt '*' test.versions_report