87.0 Braveheart¶
The Avocado team is proud to present another release: Avocado 87.0, AKA “Braveheart”, is now available!
Release documentation: Avocado 87.0
Users/Test Writers¶
The
avocado assets
command has been expanded and now can purge the cache based on its overall size. To keep 4 GiB of the most recently accessed files, you can runavocado assets purge --by-overall-limit=4g
. For more information, please refer to the documentation: Removing by overall cache limit.avocado.skipIf()
andavocado.skipUnless()
now allow the condition to be a callable, to be evaluate much later, and also gives them access to the test class. For more information, please refer to the documentation: Advanced Conditionals.The presentation of SIMPLE tests have been improved in the sense that they’re are now much more configurable. One can now set the
simpletests.status.failure_fields
to configure how the status line shown just after a failed test will look like, andjob.output.testlogs.logfiles
to determine the files that will be shown at the end of the job for failed tests.
Bug Fixes¶
The
avocaod.core.safeloader
now supports relative imports with names, meaning that syntax such asfrom ..upper import foo
is not properly parsed.The nrunner TAP runner now supports/parses large amounts of data, where it would previously crash when buffers were overrun.
The assets plugin (
avocado assets
command) now returns meaningful exit code on some failures and success situations.
Utility APIs¶
The
avocado.utils.partition
utility module now properly keeps track of loop devices and multiple mounts per device.
Internal Changes¶
The nrunner message handling code was mostly rewritten, with specific handlers for specific message types. Also, the expected (mandatory and optional) is now documented.
The
avocado.core.nrunner.Task
identifier is now automatically assigned if one is not explicitly provided.The
selftests/check.py
Job API-based script now prints a list of the failed tests at the end of the job.The nrunner standalone runners are now on their own directory on the source code tree (
avocado/core/runners
).The nrunner base class runner is now an abstract base class.
The Job’s Test suite for the nrunner architecture now contains Runnables instead of Tasks, which are a better fit at that stage. Tasks will be created closer to the execution of the Job. This solves the dilemma of changing a Task identifier, which should be avoided if possible.
The CI jobs on Cirrus have been expanded to run the selftests in a Fedora based container environment, and a simple smokecheck on Windows.
A GitHub actions based job was added to the overall CI systems, initially doing the static style/lint checks.
The selftests have been reorganized into directories for utility modules and plugins. This should, besides making it easier to find the test file for a particular featured based on its type, also facilitate the repo split.
A number of test status which are not being used were removed, and the current definitions now better match the general style and are documented.
COPR RPM package check not attempts to install a specific package NVR (name-version-release).
Many Python code lint improvements, with new checks added.
Misc Changes¶
Updated Debian packaging, now based on Pybuild build system
For more information, please check out the complete Avocado changelog.