Skip to content

The 100

Compare
Choose a tag to compare
@clebergnu clebergnu released this 19 Jan 18:24
· 798 commits to master since this release

The Avocado team is proud to present another release: Avocado 100.1,
AKA "The 100", is now available!

This is a bug fix release, with just a minor number of changes since
release 100.0.

Release documentation: Avocado 100.1.

Changes on version 100.1

  • Podman spawner bug fix: use runner plugins instead of removed
    generic nrunner. This is the issue that prompted this bug fix
    release, and it re-enables the Podman spawner functionality when
    using the default eggs provided by the Avocado project.

  • Include Python 3.11 eggs builds during the release process.

  • CI (GitHub Actions) fixes and versions bumps.

The following changes are from the 100.0 release notes.

Users/Test Writers

  • Asset cache checksum can now use multiple hash algorithms. The
    ability to store multiple hashes, created by different algorithm to
    the cache CHECKSUM file was added. This is useful when
    different tests refer to the same asset, but use different hash
    algorithms.

  • Information on a test's file name was introduced in the xunit/junit
    result files. Although not a standard field everywhere, this
    information is used and displayed on platforms such as GitLab.

  • Python 3.11 (final) is now formally supported and tested on CI.

  • The runner.output.utf8 and core.input_encoding were settings
    were removed, and now default to the the system's setting (by using
    :func:sys.getdefaultencoding().

  • Command line options prefixed with --nrunner- had that prefixed
    removed. A command line option such as --nrunner-spawner is now
    simply --spawner. The matching configuration options such as
    nrunner.something became run.something. This is due to the
    fact that nrunner is now the only runner implementation offered by
    default, so the differentiation and extra typing seems unnecessary.
    If other runners are added in the future (or by custom, out of tree,
    plugins) they can choose to respect the existing options if they
    apply.

  • The avocado jobs get-output-files command was removed. Its
    original intended purpose has not been relevant for some time, and
    the preservation of output files are already handled directly by all
    spawner implementations.

Utility Modules

  • :mod:avocado.utils.process received the changes necessary to cope
    with changes in :func:signal.default_int_handler. It now passes
    all the given arguments along.

  • :mod:avocado.utils.software_manager now allows DNF/YUM repository
    options to be customized.

Bug Fixes

  • Fixed a limit for exec-test and tap tests, where the
    STDOUT or STDERR buffers could be exhausted, and the test
    would get stuck forever on further writes. The exec-test and
    tap runners can now make use of the (optional) output_dir
    parameter, resulting in a much more efficient I/O handling. When
    output_dir is used, the only limitation on STDOUT and
    STDERR is the file-system itself.

  • The --show option was not being respected when running
    avocado-instrumented tests. The log messages generated by, say,
    an avocado.test.foo logger, should be presented at the Avocado
    job UI as it happens, provided --show=avocado.test.foo was
    given.

  • An existing aid for the usage of Avocado running from Python eggs
    would result in unnecessary changes to the PYTHONPATH. Those
    changes could cause unpredictable Python module import behavior.

  • Fixed a condition in which, when failing to import Python modules on
    tests, the error message returned was Test.__init__() got an unexpected keyword argument 'run.results_dir' which was quite
    cryptic and confused users.

  • The assets fetch plugin won't attempt to fetch and cache the assets
    of the same test more than once.

  • Running tests' statuses are now properly marked as INTERRUPTED
    instead of CANCEL when they reach their own (or the job)
    timeout.

  • The avocado jobs show command used to show a simplified and
    possibly incorrect information about the spawner used. This
    information is no longer displayed, given that it's a test suite
    attribute, and not really a job level information.

  • The Podman spawner could fail to preserve the output directory when
    users on the host and the container did not match. This has now
    been fixed.

Internal Changes

  • The resolver received the same kind of test coverage as the legacy
    loader architecture, in preparation for the removal of the loader.

  • The Fedora version used on selftests related to the Podman spawner
    were pinned to 36. The reason is that, because of the release of
    Fedora 37, which has Python 3.11, no setuptools or Avocado eggs
    are available for Python 3.11 yet.

  • Removal of the generic avocado-runner runner, which is a
    reminiscent of the all-in-one nrunner.py file, for ease of
    deployment. With the nrunner split and now deployed via Python eggs,
    it does not have to exist anymore.

  • Selftests will no longer not store temporary results in user's
    default results directory.


For more information, please check out the complete
Avocado changelog.