Skip to content

102.0 - 102 Dalmatians

Compare
Choose a tag to compare
@clebergnu clebergnu released this 23 Jun 22:39
· 530 commits to master since this release

The Avocado team is proud to present another release: Avocado 102.0, AKA "102 Dalmatians", is now available!

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

Users/Test Writers

  • There were major changes to the Avocado logging behavior, most of them
    to address feedback from users since the previous logging changes:

    • The root logger handler was restored. This enables all loggers out
      of avocado.* namespace by default. If a test, either directly
      or indirectly through 3rd party libraries, logs into any namespace
      (say logging.getLogger('my-library')) it will show up in the
      Avocado's test logs.
    • The job.log file continues to contain logs for the
      avocado.job namespace, but a new file called full.log
      contains all generated logs for a job, including logs from all
      tests.
  • The Avocado Resolver now allows tests that are implemented in files
    (by far the most common scenario) and that may also access test data
    files (see :ref:accessing-test-data-files) to pass that
    information along to spawners. The effect of that is that when
    running such tests on "remote" spawner environments (such as
    "podman") the test file and the data files can be made available in
    the remote environment. This is currently enabled in
    avocado-instrumented, python-unittest, exec-test and
    tap tests.

  • User of macOS will have a better experience when using Avocado. The
    full set of Avocado's selftests are now run under macOS on CI.
    Please be advised that macOS is not currently supported at the same
    level of Linux-based operating systems due to the lack of
    contributors/maintainers with access to the needed hardware. If you
    are a user/developer and are willing to contribute to this, please
    let the Avocado team know.

  • :ref:sysinfo-collection is now fully supported in nrunner,
    including per-test collection of system information.

  • A new plugin interface called :class:PostTest <avocado.core.plugin_interfaces.PostTest> allow actions to be
    executed right after the execution of a test, in the same spawner
    environment as the test itself. This complements the :class:PreTest <avocado.core.plugin_interfaces.PreTest> introduced on version 101.0.

  • Environment variables such as AVOCADO_TEST_BASEDIR,
    AVOCADO_TEST_LOGDIR and AVOCADO_TEST_LOGFILE are now
    made available to exec-test.

Utility Modules

  • New functions were added to :mod:avocado.utils.nvme, such as
    :func:avocado.utils.nvme.create_namespaces,
    :func:avocado.utils.nvme.get_ns_status and
    :func:avocado.utils.nvme.get_nslist_with_pci.

  • A new :func:avocado.utils.multipath.get_mpath_paths_status that
    returns the status of all paths of a mpath device was introduced.

  • :mod:avocado.utils.distro received updates to support more recent
    versions of the UnionTech OS.

Bug Fixes

  • Avocado now presents the correct message when it's interrupted with
    a "CTRL+C" (AKA SIGNINT, AKA KeyboardInterrupt).

  • The fetchasset plugin would fail when parsing some Python test
    files (in search of assets) and would produce a hard to follow error
    message (AttributeError: 'Subscript' object has no attribute 'id').

  • When tests were implemented in base classes (without tags), but then
    the derived classes added tags, the resulting tests in the derived
    class would not have the derived class tags applied to them.

Internal Changes

  • The avocado.app.debug and controlling environment variable
    AVOCADO_LOG_DEBUG have been removed to simplify the logging
    code.

  • The documentation for the optional plugins were previously hosted in
    the main Avocado "directory", but are now integral part of each
    individual plugin. This makes the documentation available as each
    individual package metadata too (which will now show on PyPI).

  • The plugin information given as the output to avocado plugins
    command is now much more dynamic (instead of hard coded). That
    also fixes a plugin section that used to be missing.

Additional information

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

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

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