78.0 Outbreak

The Avocado team is proud to present another release: Avocado 78.0, AKA “Outbreak”, is now available!

Release documentation: Avocado 78.0

Users/Test Writers

  • The HTML plugin now produces reports with resizeable columns and standardized tooltips (besides some internal cleanups).

  • The avocado assets fetch command now accepts a --ignore-errors option that returns exit code 0 even when some of the assets could not be fetched. This is useful in some unattended executions such as CI environments, in which the avocado assets fetch is used in conjunction with the canceling of tests that depend on assets not found. Without this option, an entire CI job can be stopped at the initial failure.

  • Avocado now supports “hint files” that can tweak how the Avocado resolver will recognize tests. This is useful for projects making use of Avocado as a test runner, and it can allow complete integration with a simple configuration file in a project repository. For more information check out the documentation about The hint files.

  • The experimental N(ext) Runner now allows users to set the number of parallel tasks with the --parallel-tasks command line option (or by setting the parallel_tasks configuration under the nrun section). The default value is still the same (twice the number of CPUs, minus one).

  • The experimental N(ext) Runner now checks the status of tasks right after spawning them. This can serve as an indication if a task crashes too soon. Users will now see a “<task> spawned and alive” on most cases.

  • The experimental N(ext) Runner now provides a container based execution of tasks with command line option --podman-spawner. While this is not yet intended for general use, it serves as an early technology preview of the multiple test isolation strategies that will be fully supported by the N(ext) Runner.

  • The avocado vmimage get command now returns a proper error exit code when it fails to retrieve the requested image.

Bug Fixes

  • The avocado.utils.asset used to produce an empty string when the asset name parameter was not a full URL, resulting in a broken hash value.

  • The avocado.utils.asset could fail trying to remove a temporary file that may not ever have been created.

Utility APIs

  • The CentOS provider of the avocado.utils.vmimage module now supports the location and image file names for version 8.

  • The OpenSUSE provider of the avocado.utils.vmimage module now returns the pure version numbers, instead of the ones containing the Leap_ prefixes.

  • The Debian provider of the the avocado.utils.vmimage module now properly matches the version numbers.

  • The Ubuntu provider of the the avocado.utils.vmimage module now doesn’t attempt to convert versions into numbers, which could result in lost digits (10.40 would become 10.4).

  • The avocado.utils.network.interfaces module now supports different types output produced by iproute.

  • The avocado.utils.ssh.Session.cmd() method now allows users to ignore the exit status of the command with the ignore_status parameter.

  • The avocado.utils.cpu changed how it identifies CPU vendors, architectures and families, making those more consistent across the board.

Internal Changes

  • The experimental N(ext) Runner now produces less ambiguous state messages, with a dedicated result field on the final state message, instead of reusing the status field.

  • A “release job” was introduced to be run in addition to the other selftests before a release is cut. It currently includes a complete coverage of all the :mod:`avocado.utils.vmimage providers, amounting to almost 200 test variations.

  • The loader_yaml and html plugins were migrated to the new (future) settings API.

For more information, please check out the complete Avocado changelog.