Avocado-framework

Latest version: v109.0

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

Scan your dependencies

Page 3 of 7

98.0

Not secure
Hello everyone,

This is another Avocado release announcement: 98.0 is now available!

Release Notes
=============

Since we host the release notes alongside our official documentation, please refer to the following link for the complete information about this release:

https://avocado-framework.readthedocs.io/en/98.0/releases/98_0.html

Installing Avocado
==================

Instructions are available in our documentation on how to install either with packages or from source:

https://avocado-framework.readthedocs.io/en/98.0/guides/user/chapters/installing.html

RPM packages for the current Fedoras (35 and 36) and EL 8 (Red Hat Enterprise Linux, CentOS Stream, etc) will be available on those distributions' "avocado" module, on the "latest" stream. The installation should be straightforward, and you can find instructions here:

https://avocado-framework.readthedocs.io/en/98.0/guides/user/chapters/installing.html#fedora

Also, updated Python source and binary packages are available on PyPI:

https://pypi.org/project/avocado-framework/

Avocado-VT
==========

This Avocado release is compatible with Avocado-VT 98.0, also released Today.

Happy hacking and testing!

97.0

Not secure
Hello everyone,

This is another Avocado release announcement: 97.0 is now available!

Release Notes
=============

Since we host the release notes alongside our official documentation,
please refer to the following link for the complete information about
this release:

https://avocado-framework.readthedocs.io/en/97.0/releases/97_0.html

Installing Avocado
==================

Instructions are available in our documentation on how to install
either with packages or from source:

https://avocado-framework.readthedocs.io/en/97.0/guides/user/chapters/installing.html

RPM packages for the current Fedoras (34, 35 and 36) and EL 8 (Red Hat
Enterprise Linux, CentOS Stream, etc) will be available on those
distributions' "avocado" module, on the "latest" stream. The
installation should be straightforward, and you can find instructions
here:

https://avocado-framework.readthedocs.io/en/97.0/guides/user/chapters/installing.html#fedora

Also, updated Python source and binary packages are available on PyPI:

https://pypi.org/project/avocado-framework/

Avocado-VT
==========

This Avocado release may work with the latest Avocado-VT code, but that
combination was not supported. The next Avocado release (98.0) will
have a matching Avocado-VT release, and compatibility will be guaranteed.

Happy hacking and testing!

96.0

Not secure
Users/Test Writers
==================

* Plugins can now have a builtin priority in relation to other plugins
of the same type that will affect its :ref:`execution order
<plugins_execution_order>`. This is in addition to the configurable
``plugins.$type.order`` settings.

* Avocado will now print a more descriptive list of tests that
finished with a particular status at the end of the job (``FAIL``
and ``ERROR`` by default).

Bug Fixes
=========

* Python logging streams other than the ones in the ``avocado.*``
namespace will now be saved to the ``debug.log`` files when set with
``--store-logging-stream`` option.

Utility APIs
============

* The :mod:`avocado.utils.cloudinit` now allows for a finer grained
usage of the functionality in
:class:`avocado.utils.cloudinit.PhoneHomeServer`.

* The :mod:`avocado.utils.network.ports` fixed some wrong premises
regarding the availability of open ports for different protocols
(such as a free TCP versus a free UDP port).

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

* Modernization of Python code with a switch to f-strings.

* A :class:`avocado.core.nrunner.Task`'s set of requirements are now
*called *dependencies** instead.

* The dependencies of a :class:`avocado.core.nrunner.Task` are now
tracked on the more suitable
:class:`avocado.core.task.runtime.RuntimeTask`.

* SRPMs for packit builds are now built in COPR.

---

95.0

Not secure
Users/Test Writers
==================

* A large part of the legacy runner has been removed. The
``--loader`` options to ``avocado list``, for instance, is longer
available. The ``nrunner`` architecture and runner implementation
has been the default one since version 91.0, and the remaining parts
of the legacy runner will be removed soon.

* A script that provides the features of the legacy
``--external-runner`` feature has been added. It's built on the Job
API and ``nrunner`` architecture.

* Test writers can now access a test's status while the ``tearDown``
method is being run.

* Result plugins such as ``json`` and ``xunit`` now contain more accurate
values reflecting Avocado's concepts of a test's ID and name.

* Support was added for ``Coverage.py`` when running
``avocado-instrumented`` tests (currently limited to the
``ProcessSpawner``).

* By setting the ``spawner.podman.avocado_spawner_egg`` configuration
users can now control the exact Avocado package that will be
automatically deployed within Podman containers.

Bug Fixes
=========

* A default value was added to the Spawner's attribute that tracks the
job's output directory, avoiding ``NoneType`` errors when it's not
explicitly set.

* A crash when using the Podman spawner, after changes to the output
dir handling, has fixed.

Misc Changes
============

* ``RuntimeTask`` instances are now comparable, and should now be
unique when representing requirements, preventing having duplicates.

* The order of the ``RuntimeTask``s are now defined in a dependency
graph, in accordance with BluePrint 004.

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

* ``setup.py test`` now returns a non-zero error code when failures
occur.

* RHEL 9 Beta has been added to some CI checks, and Ubuntu has been
updated from 18.04 to 21.10.

* Pylint was updated to 2.12.2, along with many changes to conform to
the checks performed by that version.

* Many parts of Avocado, including most "optional plugins", are now
PEP420 compliant.

* Improvements to the contributor guide.

* CI checks running on Cirrus-CI have been moved to GitHub Actions.

* Packit builds have been added for CentOS Stream 8 and 9.

---

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

94.0

Not secure
Users/Test Writers
==================

* The Podman Spawner now deploys Avocado inside a container using
Python eggs. This is a significant change from previous versions in
the sense that all test types supported by Avocado's ``nrunner``
architecture in the default installation are now supported on a
container (this includes ``avocado-instrumented``, ``tap``, etc).

* A results plugin for `Beaker <https://beaker-project.org>`_ is
now available and works out of the box without any manual
configuration needed.

* The ``AVOCADO_VERSION`` and ``AVOCADO_TEST_WORKDIR`` are now
available to ``exec-test`` tests run under the ``nrunner``
architecture.

* ``nrunner`` task identifiers can now be configured as a format
string that utilizes the attributes of the runnable. This allows
users to define how test results will be named and presented.

* The ``--output-check-record`` has been dropped for the legacy
runner. A similar feature is planned to be added to the ``nrunner``
architecture.

Bug Fixes
=========

* Objects that could not be serialized as JSON were causing crashes
during job runs.

Utility APIs
============

* mod:`avocado.utils.network` removed deprecated modules and methods.

* mod:`avocado.utils.vmimage` now uses https://cloud.debian.org for
obtaining Debian Cloud images.

Misc Changes
============

* A Blue Print for a new architecture responsible for handling the
tasks dependencies has been approved

* More work towards the elimination of root logger usage

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

* Spanwers now better cooperate with runners with regards to the
output directory, avoiding duplicate directories and unnecessary
data copies.

* CodeCoverage CI jobs will run only once (on Python 3.10)

* The ``selftests/check.py`` script now allows for the inclusion
(``--select``) or exclusion (``--skip``) of major test groups to be
run

* The import style used throughout Avocado has switched from relative
to absolute imports

93.0

Not secure
Users/Test Writers
==================

* The ``dict_variants`` plugin now allows the configuration of the
keys that will determine the variant ID.

* The legacy runner (``--test-runner=runner``) is being dismantled.
In this release, the following features have removed:

1. The ``PYTHON_UNITTEST`` test type

2. The ``--external-runner`` feature and its underlying test type.

3. The ``ROBOT`` test type

4. The ``GOLANG`` test type

* When using the Job API, test suites can be enabled or disabled.
Having a disabled test suite means it won't be executed. This eases
the creation of custom jobs where the user can choose to run a
subset of suites.

Bug Fixes
=========

* The :mod:`avocado.core.job` code was using the root logger, instead
of the logger at the ``avocado`` namespace.

* The automatic status server was very prone to failures due to
``AF_UNIX``'s limitation on the length of paths, because it was
created inside a job's result directory. Now it's created on the
base system temporary directory, which makes it very hard to exceed
the path length limit.

* The :mod:`avocado.utils.vmimage` library received the following
improvements:

1. Ubuntu's provider now properly handles the version number when it
compares versions with trailing zeroes.

2. Ubuntu and OpenSUSE providers can now fetch the best (latest)
version available when no version is given.

3. OpenSUSE provider will now use OpenStack images starting from
version 15.3, due to the other images having been discontinued.

* The ``variants.json`` file, saved at the ``jobdata`` directory
inside a job's result directory, now takes into consideration the
possible multiple suites in a job. The files are now named after
named with a numeric suffix and, if a name was given to the suite, a
name suffix as well.

* The serialization of the job configuration file, also saved in the
``jobdata`` directory, has been updated to support ``set`` data
types.

* ``avocado replay`` executions with a ``--show`` (which takes a set
of builtin loggers) now work properly due to the previous fix.

* Various fixes to the ``runnable-run`` interface behavior of all
shipped runners (detected as part of an improvement in functional
test coverage).

* When using the Job API, some code paths would still resort to using
the legacy runner.

* ``nrunner`` based jobs (the default) can now run from Python egg
based deployments (meaning zero installation steps are required).

* The ``resultsdb`` plugin is now pinned to a known working version
due to a broken release.

* Test parameters given with the command line argument ``-p`` are now
internally converted into variants values. This fixes the issue
with those parameters not being displayed in the ``results.html``
files.

Utility APIs
============

* The new method
`avocado.utils.network.interfaces.NetworkInterface.is_bond` that
allows users to check if a given interface is a bonding device.

Misc Changes
============

* A few portability improvements for macOS systems.

* Misc documentation improvements.

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

* The RPM packages can now be built without the execution of tests.

* The spawner plugin interface now define two different types of
implementations, with the new one being a spawner that is capable of
deploying itself to the environments that will run the tasks.

* Avocado is now also being tested under Python 3.11.

* Various CI improvements.

Page 3 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.