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