========================= 83.0 Crime and Punishment ========================= The Avocado team is proud to present another release: Avocado 83.0, AKA "Crime and Punishment", is now available! Release documentation: `Avocado 83.0 `_ Users/Test Writers ================== * All configuration whose namespace start with the ``runner.`` prefix will be forwarded to runners. This allows centrally managed configuration to be sent to runners executed by different types of spawners. * The ``exec-test`` runner now accepts a configuration (``runner.exectest.exitcodes.skip``) that will determine valid exit codes to be treated as ``SKIP`` test results. * The Loader based on the YAML Multiplexer has been removed. Users are advised to use Job API and multiple test suites to fulfill similar use cases. * The GLib plugin has been removed. Users are advised to use TAP test types instead, given that GLib's GTest framework now defaults to producing TAP output. * A runner for GO, aka golang, tests, compatible with the nrunner, has been introduced. * The paginator feature is now a boolean style option. To enable it, use ``--enable-paginator``. * The nrunner status server now has two different options regarding its URI. The first one, ``--nrunner-status-server-listen`` determines the URI in which a status server will listen to. The second one, ``--nrunner-status-server-uri`` determines where the results will be sent to. This allows status server to be on a different network location than the tasks reporting to it. * The ``avocado-software-manager`` command line application now properly returns exit status for failures. * The Podman spawner now exposes command line options to set the container image (``--spawner-podman-image``) and the Podman binary (``--spawner-podman-bin``) used on an ``avocado`` invocation. * Command line options related to results, such as ``--json-job-result``, ``--tap-job-result``, ``--xunit-job-result`` and ``--html-job-result`` currently take a ``on`` or ``off`` parameter. That is now deprecated and a warning has been added. Those options will soon become "proper boolean" options (such as ``--enable-$type-job-result`` and/or ``--disable-$type-job-result``). Bug Fixes ========= * :meth:`avocado.utils.network.interfaces.NetworkInterface.is_admin_link_up` and :meth:`avocado.utils.network.interfaces.NetworkInterface.is_operational_link_up` now behave properly on interfaces based on bonding. * The selection of an nrunner based runner, from its Python module name/path has been fixed. * :mod:`avocado.utils.process` utilities that use ``sudo`` would check for executable permissions on the binary. Many systems will have ``sudo`` with the executable bit set, but not the readable bit. This is now accounted for. * The "external runner" feature now works properly when used outside of a ``avocado`` command line invocation, that is, when used in a script based on the Job APIs. Utility APIs ============ * A new module :mod:`avocado.utils.dmesg` with utilities for interacting with the kernel ring buffer messages. * A new utility :meth:`avocado.utils.linux.is_selinux_enforcing` allows quick check of SELinux enforcing status. * The :mod:`avocado.utils.network.interfaces` now support configuration files compatible with SuSE distros. * :meth:`avocado.utils.network.interfaces.NetworkInterface.remove_link` is a new utility method that allows one to delete a virtual interface link. * :meth:`avocado.utils.network.hosts.Host.get_default_route_interface` is a new utility method that allows one to get a list of default routes interfaces. * The :mod:`avocado.utils.cpu` library now properly handles s390x z13 family of CPUs. * The :mod:`avocado.utils.pmem` library introduced a number of new utility methods, adding support for daxctl operations such as offline-memory, online-memory and reconfigure-device. Internal Changes ================ * The safeloader has been migrated from using :mod:`imp` (deprecated) to the more modern :mod:`importlib`. * Instead of using hardcoded ``..`` to refer to the parent directory, portability was improved by switching to :func:`os.path.pardir`. * Runners based on the :mod:`avocado.core.nrunner` module, when called on the command line, can now omit the ``--kind`` parameter, if information can be gathered from the executable name. * Avocado's ``make check`` is now based on a Job API script, found at ``selftests/check.py``. It combines previously separate set of tests described by multiple command line executions. * CI "smoke checks" for OS X and Windows have been introduced. This does not mean, however, that Avocado is supported on those platforms. For more information, please check out the complete `Avocado changelog `_.