77.0 The Hangover¶
The Avocado team is proud to present another release: Avocado 77.0, AKA “The Hangover”, is now available!
Release documentation: Avocado 77.0
Users/Test Writers¶
The
avocado.Test.fetch_assetmethod now has two new parameters:find_onlyandcancel_on_missing. These can be combined to cancel tests if the asset is missing after a download attempt (find_only=False) or only if it’s present in the local system without a download having been attempted during the test (find_only=True). This can bring better determinism for tests that would download sizable assets, and/or allow test jobs to be executable in offline environments.The
avocado-software-managerscript, a frontend to theavocado.utils.software_managermodule, now produces output as expected from a script.The
multiplexcommand, an alias tovariants, has been deprecated for a long time, and has now finally been removed.
Bug Fixes¶
When a dry-run is executed, by passing the
--dry-runcommand line option, the proper file name of the test will be shown, instead of the file implementing the “fake”avocado.core.test.DryRunclass.Users of
avocado.utils.ssh.Sessionas a context manager, would have all the exceptions captured and suppressed because of a buggy__exit__implementation.
Utility APIs¶
The new
avocado.utils.pmemmodule provides an interface for manage persistent memory. It allows for creating, deleting, enabling, disabling and re-configuring both namespaces and regions depending on supported hardware. It wraps the features present on thendctlanddaxctlbinaries.The new
avocado.utils.ssh.Session.get_raw_ssh_commands()allows access to the generated (local) commands, which could be used for advanced use cases, such as running multiple (remote) commands in a test. See theexamples/apis/utils/ssh.pyfor an example.The
avocado.utils.networkmodule received a complete overhaul, and provides features for getting, checking and setting network information from local and even remote hosts.Better documentation for the
avocado.utils.ssh,avocado.utils.cloudinit,avocado.utils.serviceand other modules.
Internal Changes¶
The foundation of the BP001 has been implemented, in the form of the
avocado.core.future.settingsand by adjusting pretty much all of Avocado’s code to make use of it. In the near future, this is going to replaceavocado.core.settings.It’s now easier to write a runner script that extends the types of runnables supported by the N(ext) Runner. For an example, please refer to
examples/nrunner/runners/avocado-runner-foo.Many more refactors on the
avocado.utils.assetmodule.
For more information, please check out the complete Avocado changelog.