76.0 Hotel Mumbai

The Avocado team is proud to present another release: Avocado 76.0, AKA “Hotel Mumbai”, is now available!

Release documentation: Avocado 76.0

Users/Test Writers

  • The decorators avocado.skip(), avocado.skipIf() and avocado.skipUnless() can now be used to decorate entire classes, resulting in all its tests getting skipped if/when the condition given is satisfied.

  • A TAP capable test runner for the N(ext) Runner has been introduced and is available as avocado-runner-tap. Paired with the resolver implementation introduced in the previous release, this allows the avocado nrun command to find and execute tests that produce TAP compatible output.

  • Avocado’s avocado.utils.software_manager functionality is now also made available as the avocado-software-manager command line tool.

  • The sysinfo collection now logs a much clearer message when a command is not found and thus can not have its output collected.

  • Documentation improvements and fixes in guide sections and utility libraries.

  • A second blueprint, BP002, was approved (and committed) to Avocado. It’s about a proposal about a “Requirements resolver”, that should give tests automatic resolution of various types of requirements they may need to run.

Bug Fixes

  • The N(ext) Runner will now properly escape Runnable arguments that start with a dash when generating a command to execute a runner, avoiding the runner itself to try to parse it as an option to itself.

  • The Journal plugin will now only perform its test status journaling tasks if the --journal option is given, as it was originally intended.

  • The HTML plugin has been pinned to the jinja2 package version compatible with Python 3.5 and later.

Utility APIs

  • The avocado.utils.kernel.KernelBuild.build() now allows the definition of the number of jobs, using semantics very similar to the one used by GNU make itself. That means one should be careful when using None, as it means no limit to the number of parallel jobs.

Internal Changes

  • Workarounds on Travis CI for caching failures on s390x and aarch64.

  • Many refactors on the avocado.utils.asset module

  • Multiple refactors on the N(ext) Runner code

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

Changes expected for the next release (77.0)

We are working hard to use a good name convention related to configuration options (either via command-line or via configuration file). Because of that, to keep consistency, some options are going to be changed.

Beginning with this release (76.0), users will notice a few warnings (i.e FutureWarning) messages on the STDERR. Those are early warnings of changes that will be introduced soon, because of the work mentioned before. On the next release (77.0), it’s expected that compatibility will be affected.

In the end, we will have an improved configuration module, that will handle both command line and configuration options. This intends to deliver a better way to register and to retrieve configuration options. Also, soon we will provide better documentation and a complete template config file, covering all options supported.

For more information, please visit the BP001.