The Avocado team is proud to present another release: Avocado 90.0, AKA “Bladerunner”, is now available!
Release documentation: Avocado 90.0
The Avocado team is planning to switch the default runner, from the
implementation most people currently use (internally simply called
runner), to the newer architecture and implementation called
nrunner. This is scheduled to happen on version 91.0 (the next
Users installing and relying on the latest Avocado release will be impacted by this change and should plan accordingly.
To keep using the current (soon to be legacy) runner, you must set
--test-runner=runner command line option (or the equivalent
test_runner configuration option, under section
Known issues are being tracked on our GitHub project page, with the
nrunner tag, and new issue reports are appreciated.
To select the
nrunner on this release (90.0 and earlier),
avocado run --test-runner=nrunner.
- Avocado’s safeloader (the system used to find Python based tests without executing them) received a major overhaul and now supports:
- Multi-level module imports, such as
from my.base.test import Testwhere a project may contain a
my/basedirectory structure containing
test.pythat defines a custom
- Support for following the import/inheritance hierarchy when a module contains an import for a given symbol, instead of the actual
classdefinition of a symbol.
- Considers coroutines (AKA
async def) as valid tests, reducing the number of boiler plate code necessary for tests of
- Supports class definitions (containing tests or not) that use a typing hint with subscription, commonly used in generics.
- Test parameters given with
-pare now support when using the
- All status server URIs in the configuration are now respected for
- The resolver plugins now have access to the job/suite configuration.
- The data directories now have less heuristics and are now more predictable and consistent with the configuration set.
- The JSON results (
results.json) now contain a field with the path of the test log file.
- The root logger for Python’s
loggingshould no longer be impacted by Avocado’s own logging initialization and clean up (which now limits itself to
whiteboardfile and data are now properly saved when using the
- The Podman spawner will now respect the Podman binary set in the job configuration.
- The date and time fields shown on some result formats, such as in the HTML report, now are proper dates/times, and not Python’s “monotonic” date/time.
- The correct failure reason for tests executed with the
nrunnerare now being captured, instead of a possible exception caused by a error within the runner itself.
- Update of all executable script’s “shebangs” to
- Better handling of
KeyboardInterruptexceptions on early stages of the Avocado execution.
- The list of external resources was updated adding a number of projects that either are extensions of Avocado, or that use Avocado for their testing needs.
selftests/check_tmp_dirswill only check for directories, ignoring files.
- The examples in the documentation no longer contain user references to specific users, using generic names and paths instead.
- A duplicated step has been removed from pre-release test plan.
- A setuptools command to build the man page was added.
- Updates to the Travis CI jobs, testing only Python 3.9 on s390x, ppc64le, and arm64, following the move to GHA.
- A weekly GHA CI job was introduced.
- Better standardization of the messages that
nrunnerrunners generate by means of new utility methods.
- Allows the exclusion of optional plugins when doing
python3 setup.py develop.
For more information, please check out the complete Avocado changelog.