65.0 Back to the Future¶
The Avocado team is proud to present another release: Avocado version 65.0, AKA “Back to the Future”, is now available!
Release documentation: Avocado 65.0
The major changes introduced on this version are listed below, roughly categorized into major topics and intended audience:
Users/Test Writers¶
A new utility library,
avocado.utils.ssh
, has been introduced. It’s a simple wrapper around the OpenSSH client utilities (your regular/usr/bin/ssh
) and allows a connection/session to be easily established, and commands to be executed on the remote endpoint using that previously established connection.Passing parameters to tests is now possible directly on the Avocado command line, without the use of any varianter plugin. In fact, when using variants, these parameters are (currently) ignored. To pass one parameter to a test, use
-p NAME=VAL
, and repeat it for other parameters.The
timeout
feature on the variousavocado.utils.process
functions is now respected for processes started withsudo=True
. Sending general signals to processes that have also been started in privileged mode (and killing them) is now possible and is the basis of this improvement.The
avocado.utils.cloudinit
module now adds support for instances to be configured to allowroot
logins and authentication configuration via SSH keys.The
avocado.utils.distro
module introduced a probe for the Ubuntu distros.New
avocado.utils.disk.get_disk_blocksize()
andavocado.utils.disk.get_disks()
disk related utilities.New
avocado.utils.process.get_parent_pid()
andavocado.utils.process.get_owner_id()
process related functions
Bug Fixes¶
The
avocado.utils.vmimage
had an issue when dealing with bytes and strings on Python 3. Now the expected encoding on the parsed web pages is explicitly given and used.The
avocado.utils.linux_modules.get_submodules()
function now returns unique modules names, instead of possibly having duplicate modules names.The system information collection, known in Avocado as “sysinfo”, now properly collects information after failed and errored tests finish.
The INSTRUMENTED test loader now properly finds all tests when, within the same module, either the Avocado library or the
avocado.Test
class is imported more than once, and with different names.The INSTRUMENTED test loader now won’t crash when specific multi inheritance happens on test classes.
The external test runner feature now supports relative paths given on the command line when used in conjunction with
--external-runner-chdir=runner
.
Internal Changes¶
A number of utility libraries, including
avocado.utils.process
andavocado.utils.linux_modules
have been modified to use system files (such as the ones from/proc/
) instead of depending and executing command line utilities whenever possible. This type of change is expected to continue happening on Avocado.Tests depending on the presence of the HTML and remote plugin have been moved to the plugin themselves.
A number of refactors and general improvements, usually accompanied by new tests, have increased the number of self tests from 549 to the 590 mark.
Continuing from the past release, another large number of warnings checks have been enabled in the “lint” check, making the Avocado source code better now, and avoiding best practices regressions.
Fixes to self tests that require privileged execution (tests covering the mount support in
avocado.utils.vmimage
and general operation of theavocado.utils.lv_utils
module).
For more information, please check out the complete Avocado changelog.
Release Meeting¶
The Avocado release meetings are now open to the community via Hangouts on Air. The meetings are recorded and made available on the Avocado Test Framework YouTube channel.
For this release, you can watch the meeting on this link.