Avocado-framework

Latest version: v109.0

Safety actively analyzes 710644 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

109.0

108.0

107.0

106.0

Users/Test Writers
==================

* The usage of Coverage.py (the de-facto Python tool for for test
coverage) with Avocado received a number of improvements such as
support for ``python-unittest`` tests in addition to
``avocado-instrumented`` tests.

* When listing tests with ``avocado -V list``, the resolver that
handled the reference to test resolution is now shown. The reason
is that with the introduction of resolvers such as
``runnable-recipe`` and ``runnables-recipe`` the resolver may not be
the same as the test type.

* Job log files can now use a memory buffer to reduce I/O pressure
when there's much log activity. Users can set the
``job.run.logging_buffer_size`` with the desired buffer size.

Utility Modules
===============

* `avocado.utils.disk.get_io_scheduler_list`: new utility
function that returns the I/O scheduler available for the I/O
device.

* `avocado.utils.disk.get_io_scheduler`: new utility function
that returns the I/O scheduler which is currently set for a device.

Bug Fixes
=========

* The resolver could fail to check file permissions on systems such as
macOS due to limitations in `os.access`. A more robust check
is now used based on `os.stat`.

* A hardcoded reference and check for the "nrunner" runner plugin was
removed.

* A regression that was adding the entire Avocado configuration to
every runnable was fixed.

* The suite configuration is now applied to all runnables at suite
creation time, instead of at just before the test execution time
with the ``avocado run`` command/plugin.

* The current configuration of a runnable is used to set its
identifier.

Additional information
======================

For more information, please check out the complete
Avocado [changelog](https://github.com/avocado-framework/avocado/compare/105.0...106.0).

For more information on the actual issues addressed, please check out
the [milestone](https://github.com/avocado-framework/avocado/milestone/32) information.

For more information on the release codename, please refer to [IMDb](https://www.imdb.com/title/tt0067820/).

105.0

Users/Test Writers
==================

* A couple of new resolvers were introduced: one that can reads from
standard ``JSON`` "runnable recipe" files, and one that can read
from a ``JSON`` file containing multiple occurrences of the
previously mentioned runnable recipes. This allows users to
"configure" in ``JSON`` what Avocado is going to resolve, and if
it's the case, run as a test.

* Users can now define common dependency for each test inside job or
with Job API inside suite. With this feature, it should be easier
to create jobs with tests which have common dependencies.

* More control over the environment variables in ``exec-test`` was
introduced. It's now possible to disable one environment variable or
clear the whole environment during the test runtime so it won't be
available to the underlying executable.

Utility Modules
===============

* :mod:`avocado.utils.cpu`: added support for getting physical cores
from ``lscpu``

* :mod:`avocado.utils.git`: added support for checking out submodules

* :mod:`avocado.utils.cpu`: utility update for AMD x86_64 arch to
return family details, model number for x86_64 and Zen information

* :mod:`avocado.utils.disk`: improved the exception handling

* :mod:`avocado.utils.astring`: optimized ``bitlist_to_string()`` using
``bytearray``

Bug Fixes
=========

* Runnables no longer ignore the configuration passed from recipes

* Runnable (and Task) dependencies could deadlock and fail to complete
if they were duplicates. Duplicates are now removed before
attempting to fulfill them.

Internal Changes
================

* Added a module boundary check for importing avocado plugins inside
avocado core.

* Some selftests had shebangs and ``main()`` calls removed

* The ``JSON`` based runnable recipe now receives schema based
validation when the supporting library is available, or a simplified
check when it's not.

* The GitHub actions used on the various workflows were all updated to
the latest available versions.

* The code style is slightly changed with the update to black version 24.3.0

Additional information
======================

For more information, please check out the complete
`Avocado changelog
<https://github.com/avocado-framework/avocado/compare/104.0...105.0>`_.

For more information on the actual issues addressed, please check out
the `milestone information
<https://github.com/avocado-framework/avocado/milestone/31>`_.

For more information on the release codename, please refer to `IMDb
<https://www.imdb.com/title/tt14230458/>`_.

104.0

Users/Test Writers
==================

* The minimal Python version requirement now is 3.8. Python 3.7 and
earlier are not tested nor supported starting with this release.
* The result.json test attributes related to time has been renamed in version 104.0
to correspond to `job.result.tests` in Job API. The Difference between new and old::

time_start = start
actual_time_start = actual_start
time_end = end
actual_time_end = actual_end
time_elapsed = time

* The parsing of avocado configuration files has been improved to
show better error messages during parsing error.
* Unused and legacy ``simpletest.*`` settings have been removed
from avocado as leftover of legacy runner.

Utility Modules
===============

* :func:`avocado.utils.network.interfaces.NetworkInterface.get_device_IPI_name`,
got a fix for "ERROR: 'CmdResult' object has no attribute 'decode'".
* :func:`avocado.utils.data_structures.comma_separated_ranges_to_list` has been optimized.
* :mod:`avocado.utils.podman` got a synchronous version of podman utilities.

Bug Fixes
=========

* TaskStatusService got error handling for lost connection and
``avocado-runner-*`` won’t crash any more when the status server socket is closed.

Internal Changes
================

* The ``contrib/scripts/avocado-fetch-eggs.py`` got an update for
egg handling related to post LTS changes.
* Added CodeQL workflow for GitHub code scanning in Avocado repo.
* The ``tmpfile.mktemp`` has been changed to ``tmpdir`` because of security reasons.
* CI: fix for testing of different OS images with egg and version tasks.
* Unused and legacy ``runner queue`` has been removed from :class:`avocado.Test`.

Additional information
======================

For more information, please check out the complete
`Avocado changelog
<https://github.com/avocado-framework/avocado/compare/103.0...104.0>`_.

For more information on the actual issues addressed, please check out
the `milestone information
<https://github.com/avocado-framework/avocado/milestone/30>`_.

For more information on the release codename, please refer to `IMDb
<https://www.imdb.com/title/tt9362492/>`_.

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.