73.0 Pulp Fiction¶
The Avocado team is proud to present another release: Avocado 73.0, AKA “Pulp Fiction”, is now available!
Release documentation: Avocado 73.0
Users/Test Writers¶
INSTRUMENTED
tests using theavocado.core.test.Test.fetch_asset()
can take advantage of plugins that will attempt to download (and cache) assets before the test execution. This should make the overall test execution more reliable, and give better test execution times as the download time will be excluded. Users can also manually execute theavocado assets
command to manually fetch assets from tests.The still experimental “N(ext) Runner” support for Avocado Instrumented tests is more complete and supports tag filtering and passing tags to the tests.
A new architecture for “finding” tests has been introduced as an alternative to the
avocado.core.loader
code. It’s based around theavocado.core.resolver
, and it’s currently used in the still experimental “N(ext) Runner”. It currently supports tests of the following types:avocado-instrumented
,exec-test
,glib
,golang
,python-unittest
androbot
. You can experiment it by runningavocado nlist
, similarly to howavocado list
is used.Avocado
sysinfo
feature file will now work out of the box onpip
based installations. Previously, it would require configuration files tweaks to adjust installation paths.A massive documentation overhaul, now designed around guides to different target audiences. The “User’s Guide”, “Test Writer’s Guide” and “Contributor’s Guide” can be easily found as first lever sections contain curated content for those audiences.
Bug Fixes¶
Content supposed to be UI only could leak into TAP files, making them invalid.
Avocado’s
sysinfo
feature will now run commands without a shell, resulting in more proper captured output, without shell related content.avocado.utils.process.SubProcess.send_signal()
will now send a signal to itself correctly even when usingsudo
mode.
Utility APIs¶
The
avocado.utils.vmimage
library now allows a user to define theqemu-img
binary that will be used for creating snapshot images via theavocado.utils.vmimage.QEMU_IMG
variable.The
avocado.utils.configure_network
module introduced a number of utilities, including MTU configuration support, a method for validating network among peers, IPv6 support, etc.The
avocado.utils.configure_network.set_ip()
function now supports different interface types through ainterface_type
parameter, while still defaulting toEthernet
.
Internal Changes¶
Package support for Enterprise Linux 8.
Increased CI coverage, having tests now run on four different hardware architectures: amd64 (x86_64), arm64 (aarch64), ppc64le and s390x.
Packit support adding extended CI coverage, with RPM packages being built for Pull Requests and results shown on GitHub.
Pylint checks for w0703 were enabled.
Runners, such as the remote runner, vm runner, docker runner, and the default local runner now conform to a “runner” interface and can be seen as proper plugins with
avocado plugins
.Avocado’s configuration parser will now treat values with relative paths as a special value, and evaluate their content in relation to the Python’s distribution directory where Avocado is installed.
For more information, please check out the complete Avocado changelog.