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.

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

static signal_handler(signum, frame)
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', 'runner.exectest.clear_env']

The “main Avocado” configuration keys (AKA namespaces) that this runners makes use of.

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()

Module contents