93.0 The Book of Eli¶
The Avocado team is proud to present another release: Avocado 93.0, AKA “The Book of Eli”, is now available!
Release documentation: Avocado 93.0
Users/Test Writers¶
The
dict_variantsplugin now allows the configuration of the keys that will determine the variant ID.The legacy runner (
--test-runner=runner) is being dismantled. In this release, the following features have removed:The
PYTHON_UNITTESTtest typeThe
--external-runnerfeature and its underlying test type.The
ROBOTtest typeThe
GOLANGtest type
When using the Job API, test suites can be enabled or disabled. Having a disabled test suite means it won’t be executed. This eases the creation of custom jobs where the user can choose to run a subset of suites.
Bug Fixes¶
The
avocado.core.jobcode was using the root logger, instead of the logger at theavocadonamespace.The automatic status server was very prone to failures due to
AF_UNIX’s limitation on the length of paths, because it was created inside a job’s result directory. Now it’s created on the base system temporary directory, which makes it very hard to exceed the path length limit.The
avocado.utils.vmimagelibrary received the following improvements:Ubuntu’s provider now properly handles the version number when it compares versions with trailing zeroes.
Ubuntu and OpenSUSE providers can now fetch the best (latest) version available when no version is given.
OpenSUSE provider will now use OpenStack images starting from version 15.3, due to the other images having been discontinued.
The
variants.jsonfile, saved at thejobdatadirectory inside a job’s result directory, now takes into consideration the possible multiple suites in a job. The files are now named after named with a numeric suffix and, if a name was given to the suite, a name suffix as well.The serialization of the job configuration file, also saved in the
jobdatadirectory, has been updated to supportsetdata types.avocado replayexecutions with a--show(which takes a set of builtin loggers) now work properly due to the previous fix.Various fixes to the
runnable-runinterface behavior of all shipped runners (detected as part of an improvement in functional test coverage).When using the Job API, some code paths would still resort to using the legacy runner.
nrunnerbased jobs (the default) can now run from Python egg based deployments (meaning zero installation steps are required).The
resultsdbplugin is now pinned to a known working version due to a broken release.Test parameters given with the command line argument
-pare now internally converted into variants values. This fixes the issue with those parameters not being displayed in theresults.htmlfiles.
Utility APIs¶
The new method avocado.utils.network.interfaces.NetworkInterface.is_bond that allows users to check if a given interface is a bonding device.
Misc Changes¶
A few portability improvements for macOS systems.
Misc documentation improvements.
Internal Changes¶
The RPM packages can now be built without the execution of tests.
The spawner plugin interface now define two different types of implementations, with the new one being a spawner that is capable of deploying itself to the environments that will run the tasks.
Avocado is now also being tested under Python 3.11.
Various CI improvements.
—
For more information, please check out the complete Avocado changelog.