============= 100.0 The 100 ============= The Avocado team is proud to present another release: Avocado 100.0, AKA "The 100", is now available! Release documentation: `Avocado 100.0 `_ 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 `_.