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.