68.0 The Marvelous Mrs. Maisel¶
The Avocado team is proud to present another release: Avocado version 68.0, AKA “The Marvelous Mrs. Maisel”, is now available!
Release documentation: Avocado 68.0
The major changes introduced on this version are listed below, roughly categorized into major topics and intended audience:
- The Avocado test loader, which does not load or execute Python
source code that may contain tests for security reasons, now
operates in a way much more similar to the standard Python object
inheritance model. Before, classes containing tests that would not
directly inherit from
avocado.Testwould require a docstring statement (either
:avocado: recursive). This is not necessary for most users anymore, as the recursive detection is now the default behavior.
- The xUnit plugin now should produce output that is more compatible with other implementations, specifically newer Jenkin’s as well as Ant and Maven. The specific change was to format the time field with 3 decimal places.
- A new
avocado.utils.cpu.get_pid_cpus()utility function allows one to get all the CPUs being used by a given process and its threads.
avocado.utils.processmodule now exposes the
timeoutparameter to users of the
avocado.utils.process.SubProcessclass. It allows users to define a timeout, and the type of signal that will be used to attempt to kill the process after the timeout is reached.
- The location of the Avocado configuration files can now be influenced by third parties by means of a new plugin.
- The configuration files that have been effectively parsed are now
displayed as part of
avocado configcommand output.
- A bug that would crash Avocado while listing simple or “broken” tests has been fixed.
- A bug on the asset fetcher cache system would prevent files with the same name, but from different locations, to be kept in the cache at the same, causing overwrites and new download attempts.
- The robot framework plugin would print errors and warnings to the console, confusing Avocado users as to the origin and reason for those messages. The plugin will now disable all robot framework logging operations on the console.
- Test directories won’t be silently created on system wide locations any longer, as this is a packaging and/or installation step, and not an Avocado test runner runtime step.
avocado.utils.sshmodule would not properly establish master sessions due to the lack of a
- A possible infinite hang of the test runner, due to a miscalculation of the timeout, was fixed.
avocado.utils.archive.extract_lzma()now properly opens files in binary mode.
- An optimization and robustness improvement on the func:avocado.utils.memory.read_from_meminfo was added.
- The required version of the PyYAML library has been updated to 4.2b2 because of CVE-2017-18342. Even though Avocado doesn’t use the exact piece of code that was subject to the vulnerability, it’s better to be on the safe side.
- Rules to allow a SRPM (and consequently RPM) packages to be built on the COPR build service have been added.
- The documentation on the
--mux-injectfeature and command line option has been improved, showing the behavior of the
pathcomponent when inserting content and fetching parameters later on.
- A new test was added to cover the behavior of unittest’s assertRaises when used in an Avocado test was added.
- A fix was added to selftests/unit/test_utils_vmimage.py to not depend or assume a given host architecture.
avocado.utils.ssh.Sessionwill now perform a more extensive check for an usable master connection, instead of relying on just the SSH process status code.
- The upstream and Fedora versions of the SPEC files are now virtually in sync.
- Building the the docs as part of the selftests now works on Python 3.
- The Avocado test loader, when returning Python unittest results, will now return a proper ordered dictionary that matches the order in which they were found on the source code files.
For more information, please check out the complete Avocado changelog.