102.0 - 102 Dalmatians
The Avocado team is proud to present another release: Avocado 102.0, AKA “102 Dalmatians”, is now available!
Release documentation: Avocado 102.0
Note
Before getting into the 102.0 release itself, users should be advised that release 103.0 (the next Avocado release) will be a LTS release. The next development cycle will focus on bug fixes and usability enhancements, and not on new features. This is a good opportunity for teams using and deploying Avocado to consider an upgrade from 92.X LTS (or other non-LTS version). For more information on what a LTS release means, please read RFC: Long Term Stability.
Users/Test Writers
There were major changes to the Avocado logging behavior, most of them to address feedback from users since the previous logging changes:
The root logger handler was restored. This enables all loggers out of
avocado.*
namespace by default. If a test, either directly or indirectly through 3rd party libraries, logs into any namespace (saylogging.getLogger('my-library')
) it will show up in the Avocado’s test logs.The
job.log
file continues to contain logs for theavocado.job
namespace, but a new file calledfull.log
contains all generated logs for a job, including logs from all tests.
The Avocado Resolver now allows tests that are implemented in files (by far the most common scenario) and that may also access test data files (see Accessing test data files) to pass that information along to spawners. The effect of that is that when running such tests on “remote” spawner environments (such as “podman”) the test file and the data files can be made available in the remote environment. This is currently enabled in
avocado-instrumented
,python-unittest
,exec-test
andtap
tests.User of macOS will have a better experience when using Avocado. The full set of Avocado’s selftests are now run under macOS on CI. Please be advised that macOS is not currently supported at the same level of Linux-based operating systems due to the lack of contributors/maintainers with access to the needed hardware. If you are a user/developer and are willing to contribute to this, please let the Avocado team know.
Sysinfo collection is now fully supported in nrunner, including per-test collection of system information.
A new plugin interface called
PostTest
allow actions to be executed right after the execution of a test, in the same spawner environment as the test itself. This complements thePreTest
introduced on version 101.0.Environment variables such as
AVOCADO_TEST_BASEDIR
,AVOCADO_TEST_LOGDIR
andAVOCADO_TEST_LOGFILE
are now made available toexec-test
.
Utility Modules
New functions were added to
avocado.utils.nvme
, such asavocado.utils.nvme.create_namespaces()
,avocado.utils.nvme.get_ns_status()
andavocado.utils.nvme.get_nslist_with_pci()
.A new
avocado.utils.multipath.get_mpath_paths_status()
that returns the status of all paths of a mpath device was introduced.avocado.utils.distro
received updates to support more recent versions of the UnionTech OS.
Bug Fixes
Avocado now presents the correct message when it’s interrupted with a “CTRL+C” (AKA
SIGNINT
, AKAKeyboardInterrupt
).The
fetchasset
plugin would fail when parsing some Python test files (in search of assets) and would produce a hard to follow error message (AttributeError: 'Subscript' object has no attribute 'id'
).When tests were implemented in base classes (without tags), but then the derived classes added tags, the resulting tests in the derived class would not have the derived class tags applied to them.
Internal Changes
The
avocado.app.debug
and controlling environment variableAVOCADO_LOG_DEBUG
have been removed to simplify the logging code.The documentation for the optional plugins were previously hosted in the main Avocado “directory”, but are now integral part of each individual plugin. This makes the documentation available as each individual package metadata too (which will now show on PyPI).
The plugin information given as the output to
avocado plugins
command is now much more dynamic (instead of hard coded). That also fixes a plugin section that used to be missing.
Additional information
For more information, please check out the complete Avocado changelog.
For more information on the actual issues addressed, please check out the milestone information.
For more information on the release codename, please refer to IMDb.