avocado.plugins.runners package¶
Submodules¶
avocado.plugins.runners.asset module¶
- class avocado.plugins.runners.asset.AssetRunner¶
Bases:
BaseRunner
Runner for dependencies of type package
This runner handles the fetch of files using the Avocado Assets utility.
Runnable attributes usage:
kind: ‘asset’
uri: not used
args: not used
- kwargs:
name: the file name or uri (required)
asset_hash: hash of the file (optional)
algorithm: hash algorithm (optional)
locations: location(s) where the file can be fetched from (optional)
expire: time in seconds for the asset to expire (optional)
- CONFIGURATION_USED = ['datadir.paths.cache_dirs']¶
The “main Avocado” configuration keys (AKA namespaces) that this runners makes use of.
- description = 'Runner for dependencies of type package'¶
- name = 'asset'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.asset.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for dependencies of type asset'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-asset'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['asset']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.asset.main()¶
avocado.plugins.runners.avocado_instrumented module¶
- class avocado.plugins.runners.avocado_instrumented.AvocadoInstrumentedTestRunner¶
Bases:
BaseRunner
Runner for avocado-instrumented tests
Runnable attributes usage:
uri: path to a test file, combined with an Avocado.Test inherited class name and method. The test file path and class and method names should be separated by a “:”. One example of a valid uri is “mytest.py:Class.test_method”.
args: not used
- CONFIGURATION_USED = ['run.test_parameters', 'datadir.paths.cache_dirs', 'core.show', 'job.output.loglevel', 'job.run.store_logging_stream']¶
The “main Avocado” configuration keys (AKA namespaces) that this runners makes use of.
- DEFAULT_TIMEOUT = 86400¶
- description = 'Runner for avocado-instrumented tests'¶
- name = 'avocado-instrumented'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.avocado_instrumented.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for avocado-instrumented tests'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-avocado-instrumented'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['avocado-instrumented']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.avocado_instrumented.main()¶
avocado.plugins.runners.dry_run module¶
- class avocado.plugins.runners.dry_run.DryRunRunner¶
Bases:
BaseRunner
Runner for –dry-run.
It performs no action before reporting FINISHED status with cancel result.
Runnable attributes usage:
uri: not used
args: not used
- description = 'Runner for --dry-run'¶
- name = 'dry-run'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.dry_run.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for dry-run tests'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-dry-run'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['dry-run']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.dry_run.main()¶
avocado.plugins.runners.exec_test module¶
- class avocado.plugins.runners.exec_test.ExecTestRunner¶
Bases:
BaseRunner
Runner for standalone executables treated as tests
This is similar in concept to the Avocado “SIMPLE” test type, in which an executable returning 0 means that a test passed, and anything else means that a test failed.
Runnable attributes usage:
uri: path to a binary to be executed as another process
args: arguments to be given on the command line to the binary given by path
kwargs: key=val to be set as environment variables to the process
- CONFIGURATION_USED = ['run.keep_tmp', 'runner.exectest.exitcodes.skip']¶
The “main Avocado” configuration keys (AKA namespaces) that this runners makes use of.
- OUTPUT_PRODUCED = ['stdout', 'stderr']¶
The output produced by the runners.
- description = 'Runner for standalone executables treated as tests'¶
- name = 'exec-test'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.exec_test.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for exec-test tests'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-exec-test'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['exec-test']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.exec_test.main()¶
avocado.plugins.runners.noop module¶
- class avocado.plugins.runners.noop.NoOpRunner¶
Bases:
BaseRunner
Sample runner that performs no action before reporting FINISHED status
Runnable attributes usage:
uri: not used
args: not used
- description = 'Sample runner that performs no action before reporting FINISHED status'¶
- name = 'noop'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.noop.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for noop tests'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-noop'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['noop']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.noop.main()¶
avocado.plugins.runners.package module¶
- class avocado.plugins.runners.package.PackageRunner¶
Bases:
BaseRunner
Runner for dependencies of type package
This runner handles, the installation, verification and removal of packages using the avocado-software-manager.
Runnable attributes usage:
kind: ‘package’
uri: not used
args: not used
- kwargs:
name: the package name (required)
action: one of ‘install’, ‘check’, or ‘remove’ (optional, defaults to ‘install’)
- description = 'Runner for dependencies of type package'¶
- name = 'package'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.package.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for dependencies of type package'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-package'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['package']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.package.main()¶
avocado.plugins.runners.podman_image module¶
- class avocado.plugins.runners.podman_image.PodmanImageRunner¶
Bases:
BaseRunner
Runner for dependencies of type podman-image
This runner handles download and verification.
Runnable attributes usage:
kind: ‘podman-image’
uri: the name of the image
args: not used
- description = 'Runner for dependencies of type podman-image'¶
- name = 'podman-image'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- class avocado.plugins.runners.podman_image.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'Runner for dependencies of type podman-image'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-podman-image'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['podman-image']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.podman_image.main()¶
avocado.plugins.runners.python_unittest module¶
- class avocado.plugins.runners.python_unittest.PythonUnittestRunner¶
Bases:
BaseRunner
Runner for Python unittests
The runnable uri is used as the test name that the native unittest TestLoader will use to find the test. A native unittest test runner (TextTestRunner) will be used to execute the test.
Runnable attributes usage:
- uri: a single test reference, that is “a test method within a test case
class” within a test module. Example is: “./tests/foo.py:ClassFoo.test_bar”.
args: not used
kwargs: not used
- description = 'Runner for Python unittests'¶
- property module_class_method¶
Return a dotted name with module + class + method.
Important to note here that module is only the module file without the full path.
- property module_path¶
Path where the module is located.
Ex: uri = ‘./avocado.dev/selftests/.data/unittests/test.py:Class.test_foo’ It will return ‘./avocado.dev/selftests/.data/unittests/’
- name = 'python-unittest'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- property unittest¶
Returns the unittest part of an uri as tuple.
Ex:
uri = ‘./avocado.dev/selftests/.data/unittests/test.py:Class.test_foo’ It will return (“test”, “Class”, “test_foo”)
- class avocado.plugins.runners.python_unittest.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for python-unittest tests'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-python-unittest'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['python-unittest']¶
The names of types of runnables that this runner can handle.
- avocado.plugins.runners.python_unittest.main()¶
avocado.plugins.runners.sysinfo module¶
- class avocado.plugins.runners.sysinfo.PostSysInfo(config, sysinfo_config, queue, test_fail=False)¶
Bases:
PreSysInfo
Log different system properties after end event.
An event may be a job, a test, or any other event with a beginning and end.
- Parameters
test_fail (bool) – flag for fail tests. Default False
- sysinfo_dir = 'sysinfo/post'¶
- class avocado.plugins.runners.sysinfo.PreSysInfo(config, sysinfo_config, queue)¶
Bases:
object
Log different system properties before start event.
An event may be a job, a test, or any other event with a beginning and end.
Set sysinfo collectibles.
- Parameters
config (dict) – avocado configuration
sysinfo_config (dict) – dictionary with commands/tasks which should be performed during the sysinfo collection.
queue (multiprocessing.SimpleQueue) – queue for the runner messages
- collect()¶
Log all collectibles at the start of the event.
- property installed_pkgs¶
- sysinfo_dir = 'sysinfo/pre'¶
- class avocado.plugins.runners.sysinfo.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for gathering sysinfo'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-sysinfo'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['sysinfo']¶
The names of types of runnables that this runner can handle.
- class avocado.plugins.runners.sysinfo.SysinfoRunner¶
Bases:
BaseRunner
Runner for gathering sysinfo
Runnable attributes usage:
- uri: sysinfo type pre/post. This variable decides if the sysinfo is
collected before or after the test.
- kwargs: “sysinfo” dictionary with commands/tasks which should be
performed during the sysinfo collection.
- CONFIGURATION_USED = ['sysinfo.collect.installed_packages', 'sysinfo.collect.commands_timeout', 'sysinfo.collect.locale']¶
The “main Avocado” configuration keys (AKA namespaces) that this runners makes use of.
- description = 'Runner for gathering sysinfo'¶
- name = 'sysinfo'¶
- run(runnable)¶
Runner main method
Yields dictionary as output, containing status as well as relevant information concerning the results.
- Parameters
runnable (
avocado.core.nrunner.Runnable
) – a Runnable instance that describes what is to be run
- avocado.plugins.runners.sysinfo.main()¶
avocado.plugins.runners.tap module¶
- class avocado.plugins.runners.tap.RunnerApp(echo=<built-in function print>, prog=None, description=None)¶
Bases:
BaseRunnerApp
- PROG_DESCRIPTION = 'nrunner application for executable tests that produce TAP'¶
The description of the command line application given to the command line parser
- PROG_NAME = 'avocado-runner-tap'¶
The name of the command line application given to the command line parser
- RUNNABLE_KINDS_CAPABLE = ['tap']¶
The names of types of runnables that this runner can handle.
- class avocado.plugins.runners.tap.TAPRunner¶
Bases:
ExecTestRunner
Runner for standalone executables treated as TAP
When creating the Runnable, use the following attributes:
kind: should be ‘tap’;
uri: path to a binary to be executed as another process. This must provides a TAP output.
args: any runnable argument will be given on the command line to the binary given by path
kwargs: you can specify multiple key=val as kwargs. This will be used as environment variables to the process.
Example:
- runnable = Runnable(kind=’tap’,
uri=’tests/foo.sh’, ‘bar’, # arg 1 DEBUG=’false’) # kwargs 1 (environment)
- description = 'Runner for standalone executables treated as TAP'¶
- name = 'tap'¶
- avocado.plugins.runners.tap.main()¶