62.0 Farewell¶
The Avocado team is proud to present another release: Avocado version 62.0, AKA “Farewell”, is now available!
Release documentation: Avocado 62.0
The major changes introduced on this version are listed below, roughly categorized into major topics and intended audience:
Users/Test Writers¶
The
avocado.Test.srcdir
attribute has been removed, and with it, theAVOCADO_TEST_SRCDIR
environment variable set by Avocado. This was done after a deprecation period, so tests should have been modified by now to make use of theavocado.Test.workdir
instead.The
avocado.Test.datadir
attribute has been removed, and with it, theAVOCADO_TEST_DATADIR
environment variable set by Avocado. This was done after a deprecation period, so tests should have been modified by now to make use of theavocado.Test.get_data()
instead.The
avocado.utils.cpu.set_cpuidle_state()
function now takes a boolean value for itsdisable
parameter (while still allowing the previous integer (0/1) values to be used). The goal is to have a more Pythonic interface, and to drop support legacy integer (0/1) use in the upcoming releases.avocado.utils.astring.ENCODING
is a new addition, and holds the encoding used on many other Avocado utilities. If your test needs to convert between binary data and text, we recommend you use it as the default encoding (unless your test knows better).avocado.utils.astring.to_text()
now supports setting the error handler. This means that when a perfect decoding is not possible, users can choose how to handle it, like, for example, ignoring the offending characters.When running a process by means of the
avocado.utils.process
module utilities, the output of such a process is captured and can be logged in astdout
/stderr
(or combinedoutput
) file. The logging is now more resilient to decode errors, and will use thereplace
error handler by default. Please note that the downside is that this may produce different content in those files, from what was actually output by the processes if decoding error conditions happen.The
avocado.utils.astring.tabular_output()
will now properly strip trailing whitespace from lines that don’t contain data for all “columns”. This is also reflected in the (tabular) output of commands such asavocado list -v
.
Bug Fixes¶
Users of the
avocado.utils.service
module can now safely instantiate the service manager multiple times. It was previously limited to a single instance per interpreter.The
avocado.utils.vmimage
library default usage broke with the release of Fedora 28, which added a different directory layout for its cloud images. This has now been fixed and should allow for a successfulimage = avocado.utils.vmimage()
usage.
Internal Changes¶
Refactor of the
avocado.utils.asset
module, in preparation for new functionality.The
avocado.utils.cpu
module now treats reads/writes to/from/proc/*
and/sys/*
as binary data.The selftests for the
avocado.utils.cpu
module will now run under Python 3 (>= 3.6), due to more detailed checks of capable mock versions.The test that serves as the example for the whiteboard feature has been simplified, and the more complex test moved to
selftests
.Package builds with
make rpm
are now done with the systemd-nspawn based chroot implementation formock
.
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.