Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release notes for version 103.0 #5848

Merged
merged 1 commit into from
Jan 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 164 additions & 0 deletions docs/source/releases/103_0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
========================
103.0 - Sound of Freedom
========================

The Avocado team is proud to present another release: Avocado 103.0,
AKA "Sound of Freedom", is now available!

Release documentation: `Avocado 103.0
<http://avocado-framework.readthedocs.io/en/103.0/>`_

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

* The remote spawner is a new optional plugin that makes use of remote
`aexpect <https://github.com/avocado-framework/aexpect/>`__ sessions
(to remote hosts or equivalently remote containers behind remote hosts
forwarded via specific ports) as slots to schedule test runs on.

* The format of test log messages have been reverted to more closely
match previous LTS (92.x) format like line number and Python module
name (see `#5721
<https://github.com/avocado-framework/avocado/issues/5721>`__).

* The ``avocado-instrumented`` runner used to have an internal timeout
of 24 hours that users might not have intended to use or respect.
This internal timeout has been removed and configuration such as
``task.timeout.running`` or ``--job-timeout`` are the timeout users
should worry about (see `#5394
<https://github.com/avocado-framework/avocado/issues/5394>`__).

* The ``json`` result file now contains the actual start and end time
of tests in a format based on :func:`time.time` (see `#5768
<https://github.com/avocado-framework/avocado/pull/5768>`__).

* The ``avocado jobs list`` command now presents a sorted list of jobs
based on the modification of the results file (see `#5762
<https://github.com/avocado-framework/avocado/pull/5762/commits/a956ff05ad18cec8fad88401a51d95a9da4a1462>`__).

* If the status server is manually configured (that is,
``--status-server-disable-auto`` is set), and either the URI
(``--status-server-uri`` or the listen address is given
(``--status-server-listen``) the other will automatically be set to
the same value for convenience (see `#5748
<https://github.com/avocado-framework/avocado/pull/5748>`__).

* Python 3.12 is now formally supported (see `#5789
<https://github.com/avocado-framework/avocado/pull/5789>`__).

* Resolvers can now choose to report a resolution result of type
:data:`avocado.core.resolver.ReferenceResolutionResult.CORRUPT`, which
can be used when the reference seems to be accurate to the resolver in
question, but something is broken in the resolved entity (such as a
corrupt test file. See `#5710
<https://github.com/avocado-framework/avocado/issues/5710>`__).

* When running ``avocado-instrumented`` tests with a ``timeout``
defined, it's possible to set a ``timeout_factor`` parameter that
will either extend or shorten the actual timeout for that execution
(see `#5820
<https://github.com/avocado-framework/avocado/issues/5820>`__).

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

* The :meth:`avocado.utils.ssh.Session.cmd` now supports setting a
``timeout`` for the command execution (see `#5775
<https://github.com/avocado-framework/avocado/issues/5775>`__).

* The :mod:`avocado.utils.distro` module added specific detection for
CentOS Stream (see `#5667
<https://github.com/avocado-framework/avocado/issues/5667>`__).

* The :mod:`avocado.utils.distro` module improved detection for
Amazon Linux (see `#5668
<https://github.com/avocado-framework/avocado/issues/5668>`__).

Bug Fixes
=========

* The loader for ``avocado-instrumented`` tests could end up using the
wrong Python module if a module of the same name existed elsewhere
in the import path. Now, the actual path of the Python file
containing the test (given in the ``modulePath`` parameter) is used
explicitly by the Python module importer (see `#5686
<https://github.com/avocado-framework/avocado/issues/5686>`__).

* When :ref:`dependencies <managing-requirements>` are not fulfilled,
test results would be missing, instead of being clearly shown as
``CANCEL`` (see `#5667
<https://github.com/avocado-framework/avocado/issues/5667>`__).

* :func:`avocado.utils.path.init_dir` would raise
:class:`FileExistsError` if the directory already existed, usually
causing crashes on its users (see `#5746
<https://github.com/avocado-framework/avocado/pull/5746>`__).

* The :ref:`whiteboard <saving-test-generated-custom-data>` file was
being created with duplicate content because of the legacy runner
implementation, which is now removed (see `#5770
<https://github.com/avocado-framework/avocado/issues/5770>`__).

* The ``avocado jobs show`` command now presents the correct time
tests have ended (see `#5762
<https://github.com/avocado-framework/avocado/pull/5762/commits/b7ec30e69b2a51f97eb97ee445b12997366b5652>`__).

* The :func:`avocado.utils.download.url_open` function used to
misleadingly says that a URL had been retrieved at a stage where
only a response was obtained. It now presents an accurate message
(see `#5742
<https://github.com/avocado-framework/avocado/issues/5742>`__).

* The Podman Spawner had a race condition where the state of the
container (and thus the task) would not take into account the
transition from "created" to "running" (see `#5783
<https://github.com/avocado-framework/avocado/pull/5783>`__).

* Avocado has re-enabled ``stdout`` and ``stderr`` files for
``avocado-instrumented`` files (see `#5779
<https://github.com/avocado-framework/avocado/issues/5779>`__).

* The Spawner interface and implementations now properly checks if the
termination of a task was successful or not. The statemachine uses
that information to let users know of situations where a task could
not be terminated (see `#5788
<https://github.com/avocado-framework/avocado/pull/5788>`__).

* The ``tearDown()`` of ``avocado-instrumented`` now gets called
properly if a test times out (see `#5795
<https://github.com/avocado-framework/avocado/pull/5795>`__).

* The Process Spawner now properly handles a situation where, during
the termination of a task, the process itself finishes before the
spawner has the chance to do so (see `#5805
<https://github.com/avocado-framework/avocado/pull/5805>`__).

* When interrupting ``avocado-instrumented`` tests, the ``tearDown()``
will be called to allow for cleanups. If an error occurred during
the execution of ``tearDown()`` the status of the test would change
to ``ERROR`` (instead of keeping its original ``INTERRUPT`` status
(see `#5801
<https://github.com/avocado-framework/avocado/issues/5801>`__).

* The HTML result plugin was not properly filtering tests based on
their status (see `#5828
<https://github.com/avocado-framework/avocado/issues/5828>`__).

* The ``testlogs`` plugin was not showing tests with all "not ok"
statuses and was showing test names instead of test IDs which are
unique in a suite (see `#5827
<https://github.com/avocado-framework/avocado/issues/5827>`__).

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

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

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

For more information on the release codename, please refer to `IMDb
<https://www.imdb.com/title/tt7599146>`_.
1 change: 1 addition & 0 deletions docs/source/releases/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Regular Releases
.. toctree::
:maxdepth: 1

103_0
102_0
101_0
100_1
Expand Down
Loading