88.0 The Serpent¶
The Avocado team is proud to present another release: Avocado 88.0, AKA “The Serpent”, is now available!
Release documentation: Avocado 88.0
Users/Test Writers¶
The Requirements Resolver feature has been introduced, and it’s available for general use. It allows users to describe requirements tests may have, and will attempt to fulfill those before the test is executed. This initial version has support for “package” requirements, meaning operating system level packages such as RPM, DEB, etc.
Long story short, if you’re writing a functional test that manipulates Logical Volumes, you may want to declare that the
lvm2
is a package requirement of your test.This can greatly simplify the setup of the environments the tests will run on, and at the same time, not cause test errors because of the missing requirements (which will cause the test to be skipped).
For more information please refer to the Managing Dependencies section.
avocado list
got a--json
option, which will output the list of tests in a machine readable format.The minimal Python version requirement now is 3.6. Python 3.5 and earlier are not tested nor supported starting with this release.
Because of the characteristics of the nrunner architecture, it has been decided that log content generated by tests will not be copied to the
job.log
file, but will only be available on the respective test logs on thetest-results
directory. Still, will often need to know if tests have been started or have finished while looking at thejob.log
file. This feature has been implemented by means of thetestlogs
plugin.Avocado will log a warning, making it clear that it can not check the integrity of a requested asset when no hash is given. This is related to users of the
avocado.utils.asset
module oravocado.Test.fetch_asset()
utility method.Avocado’s cache directory defined in the configuration will now have the ultimate saying, instead of the dynamic probe for “sensible” cache directories that could end up not respecting user’s configurations.
Bug Fixes¶
Avocado will now give an error message and exit cleanly, instead of crashing, when the resulting test suite to be executed contains no tests. That can happen, for instance, when invalid references are given along with the
--ignore-missing-references
command line option.A crash when running
avocado distro --distro-def-create
has been fixed.
Internal Changes¶
All Python files tracked by version control are now checked by linters.
An
nrunner Task
class now has acategory
. Only if a task has its category set totest
(the default) it will be accounted for in the test results.avocado.utils.process
now usestime.monotonic()
to handle timeouts, which is better suited for the task and will survive clock updates.The
core.show
configuration item (also available as the--show
command line option) is now a set of logging streams.A
Task's
identifier now gets converted to aavocado.core.test_id.TestID
before being handed over to result plugins.The
avocado-runner-avocado-instrumented
runner now better handles its own errors (in addition to the exceptions possibly raised by tests).
For more information, please check out the complete Avocado changelog.