99.0 The Chosen¶
The Avocado team is proud to present another release: Avocado 99.0, AKA “The Chosen”, is now available!
Release documentation: Avocado 99.0
Users/Test Writers¶
Ansible modules can now be used as dependencies. For instance, instead of asking test writers to write code to say, create user accounts that will be used during a test, a developer can simply use ansible’s
user
module.Likewise, if a test needs a service installed or up and running: instead of writing all that code, the test writer can describe that dependency using the
service
ansible module.A Podman image can now be treated as a dependecy. This is currently mostly useful to tests that will manually create containers, but it’s expected to also be leveraged by the podman spawner and suite and job level dependencies in the near future.
A new type of plugin,
Cache
, has been introduced and is responsible for manipulating with cache, and it’s representation through the Avocado interface. It is currrently implemented for thevmimage
andrequirements
cache.All nrunner functionality that is activated through the command line by means of an option like
--nrunner-
are deprecated. Options without the--nrunner-
prefix are already available. In the next Avocado version, only the command line options without the--nrunner
prefix will be available. The same deprecation was applied to the--test-runner
option, and users are encouraged to use--suite-runner
instead.Updates to the nrunner documentation, fixing a number of outdated and incorrect information.
Bug Fixes¶
A problem caused by times when a test is interrupted by timeout before it even starts has been fixed.
Under specific versions of podman, when querying for information on the available containers, while other container operations are running will result in a “Failed getting information about container” error. A workaround for that behavior has been applied.
The HTML report now contains an “ALL” selection for test types, instead of an empty value.
avocado.utils.data_factory.make_dir_and_populate()
would crash because it used a string instead of bytes when writing to files.avocado.utils.software_manager.backends.dpkg.list_files()
assumed having a string instead of bytes when splitting lines.The independence of
--nrunner-status-server-uri
and--nrunner-status-server-listen
was not being respected. Because Tasks are being created with whatever is the current status server URI (either determined automatically, or with the “listen” config), the “uri” config went unused. These issues are now fixed.A situation where the
PYTHONPATH
environment variable would grow for each test executed was fixed.A major performance regression has been fixed, under which a
avocado.core.nrunner.runnable.Runnable
instantiation would many times imply the execution of anavocado-runner-$kind
command, was fixed.
Internal Changes¶
Testing for s390x and ppc64le were migrated from Travis-CI to Packit (which runs tests during the package builds) because of reliability issues.
Some nrunner related tests that were dropped because of the input URI format for unittests changed, were adapted and reintroduced because they are valid in covering some functionality.
The “exec-like” runners (
exec-test
,tap
,golang
androbot
) were all refactored and now share a lot more code.Some skip conditions for tests related to
iso9660
anddisk
(because of issues in other projects and CI limitations) have been lifted.The static syntax checks, based on
black
, will now print the differences and use color output.The version of macOS used on GitHub Actions was bumped from
macos-10.15
tomacos-11
.
—
For more information, please check out the complete Avocado changelog.