60.0 Better Call Saul¶
The Avocado team is proud to present another release: Avocado version 60.0, AKA “Better Call Saul”, is now available!
Release documentation: Avocado 60.0
The major changes introduced on this version are listed below, roughly categorized into major topics and intended audience:
- The legacy options
--multiplexhave now been removed. Please adjust your usage, replacing those options with
- The deprecated
skipmethod, previously part of the
avocado.TestAPI, has been removed. To skip a test, you can still use the
avocado.Test.srcdir()property has been deprecated, and will be removed in the next release. Please use
- Python 3 RPM packages are now available for the core Avocado and for
many of the plugins. Users can install both versions side by side,
and they’ll share the same configuration. To run the Python 3
avocado-3.x, which x is the minor Python version) instead of
avocado.utils.kernellibrary now supports setting the URL that will be used to fetch the Linux kernel from, and can also build installable packages on supported distributions (such as
.debpackages on Ubuntu).
avocado.utils.processlibrary now contains helper functions similar to the Python 2
commands.getoutput()which can be of help to people porting code from Python 2 to Python 3.
- Each job now gets its own temporary directory, which allows multiple jobs to be used in a single interpreter execution.
- On some situations, Avocado would, internally, attempt to operate on
a closed file, resulting in
ValueError: I/O operation on closed file. This has been fixed in the
avocado.utils.process.FDDrainerclass, which will not only check if the file is not closed, but if the file-like object is capable of operations such as
- Avocado can now (again) run tests that will produce output in encoding
different than the Python standard one. This has been implemented as
an Avocado-wide, hard-coded setting, that defines the default encoding
utf-8. This may be made configurable in the future.
- A memory optimization was applied, and allows test jobs with a large
number of tests to run smoothly. Previously, Avocado would save the
avocado.core.parameters.AvocadoParamsinstance to the test results. Now, it just keeps the relevant contents of the test parameters instead.
- A number of warnings have been enabled on Avocado’s “lint” checks, and consequently a number of mistakes have been fixed.
- The usage of the
avocado.core.job.Jobclass now requires the use of
avocado.core.job.Job.cleanup(), either explicitly or as a context manager. This makes sure the temporary files are properly cleaned up after the job finishes.
- The exception raised by the utility functions in
avocado.utils.memoryhas been renamed from
avocado.utils.memory.MemError. The reason is that
MemoryErroris a Python standard exception, that is intended to be used on different situations.
- A number of small improvements to the
avocado.Testimplementation, including making
avocado.Test.workdir()creation more consistent with other test temporary directories, extended logging of test metadata, logging of test initialization (look for
INITin your test logs) in addition to the already existing start of test execution (logged as
For more information, please check out the complete Avocado changelog.
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.