Avocado-framework

Latest version: v104.0

Safety actively analyzes 613631 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

37.0

Not secure
details on the specific RFC[9].

The main changes in Avocado for this release are:
- A big round of fixes and on machine readable output formats, such
as xunit (aka JUnit) and JSON. The xunit output, for instance,
now includes tests with schema checking. This should make sure
interoperability is even better on this release.
- Much more robust handling of test references, aka test URLs.
Avocado now properly handles very long test references, and also
test references with non-ascii characters.
- The avocado command line application now provides richer exit
status[1]. If your application or custom script depends on the
avocado exit status code, you should be fine as avocado still
returns zero for success and non-zero for errors. On error
conditions, though, the exit status code are richer and made of
combinable (ORable) codes. This way it's possible to detect that,
say, both a test failure and a job timeout occurred in a single
execution.
- [SECURITY RELATED] The remote execution of tests (including in
Virtual Machines) now allows for proper checks of host keys[2].
Without these checks, avocado is susceptible to a man-in-the-middle
attack, by connecting and sending credentials to the wrong machine.
This check is _disabled_ by default, because users depend on this
behavior when using machines without any prior knowledge such as
cloud based virtual machines. Also, a bug in the underlying SSH
library may prevent existing keys to be used if these are in ECDSA
format[3]. There's an automated check in place to check for the
resolution of the third party library bug. Expect this feature to
be _enabled_ by default in the upcoming releases.
- Pre/Post Job hooks. Avocado now defines a proper interface for
extension/plugin writers to execute actions while a Job is runnning.
Both Pre and Post hooks have access to the Job state (actually, the
complete Job instance). Pre job hooks are called before tests are
run, and post job hooks are called at the very end of the job (after
tests would have usually finished executing).
- Pre/Post job scripts[4]. As a feature built on top of the Pre/Post job
hooks described earlier, it's now possible to put executable scripts
in a configurable location, such as `/etc/avocado/scripts/job/pre.d`
and have them called by Avocado before the execution of tests. The
executed scripts will receive some information about the job via
environment variables[5].
- The implementation of proper Test-IDs[6] in the test result
directory.

Also, while not everything is (yet) translated into code, this release
saw various and major RFCs, which are definitely shaping the future of
Avocado. Among those:
- Introduce proper test IDs[6]
- Pre/Post _test_ hooks[7]
- Multi-stream tests[8]
- Avocado maintainability and integration with avocado-vt[9]
- Improvements to job status (completely implemented)[10]

For a complete list of changes please check the Avocado changelog[11].

For Avocado-VT, please check the full Avocado-VT changelog[12].

Install avocado

Instructions are available in our documentation on how to install
either with packages or from source[13].

Updated RPM packages are be available in the project repos for
Fedora 22, Fedora 23, EPEL 6 and EPEL 7.

Packages

As a heads up, we still package the latest version of the various
Avocado sub projects, such as the very popular Avocado-VT and the
pretty much experimental Avocado-Virt and Avocado-Server projects.

For the upcoming releases, there will be changes in our package
offers, with a greater focus on long term stability packages for
Avocado. Other packages may still be offered as a convenience, or
may see a change of ownership. All in the best interest of our users.
If you have any concerns or questions, please let us know.

Happy hacking and testing!

---

[1] http://avocado-framework.readthedocs.org/en/35.0/ResultFormats.html#exit-codes
[2] https://github.com/avocado-framework/avocado/blob/35.0/etc/avocado/avocado.conf#L41
[3] https://github.com/avocado-framework/avocado/blob/35.0/selftests/functional/test_thirdparty_bugs.py#L17
[4] http://avocado-framework.readthedocs.org/en/35.0/ReferenceGuide.html#job-pre-and-post-scripts
[5] http://avocado-framework.readthedocs.org/en/35.0/ReferenceGuide.html#script-execution-environment
[6] https://www.redhat.com/archives/avocado-devel/2016-March/msg00024.html
[7] https://www.redhat.com/archives/avocado-devel/2016-April/msg00000.html
[8] https://www.redhat.com/archives/avocado-devel/2016-April/msg00042.html
[9] https://www.redhat.com/archives/avocado-devel/2016-April/msg00038.html
[10] https://www.redhat.com/archives/avocado-devel/2016-April/msg00010.html
[11] https://github.com/avocado-framework/avocado/compare/0.34.0...35.0
[13] https://github.com/avocado-framework/avocado-vt/compare/0.34.0...35.0
[12] http://avocado-framework.readthedocs.org/en/35.0/GetStartedGuide.html#installing-avocado

35.0

Not secure
This is another proud announcement: Avocado release 35.0, aka "Mr
Robot", is now out!

This release, while a "regular" release, will also serve as a beta for
our first "long term stability" (aka "lts") release. That means that
the next release, will be version "36.0lts" and will receive only bug
fixes and minor improvements. So, expect release 35.0 to be pretty
much like "36.0lts" feature-wise. New features will make into the

0.34.0

Hello to all test enthusiasts out there, specially to those that
cherish, care or are just keeping an eye on the greenest test
framework there is: Avocado release 0.34.0, aka The Hour of the Star,
is now out!

The main changes in Avocado for this release are:
- A complete overhaul of the logging and output implementation. This
means that all Avocado output uses the standard Python logging library
making it very consistent and easy to understand [1].
- Based on the logging and output overhaul, the command line test
runner is now very flexible with its output. A user can choose
exactly what should be output. Examples include application output
only, test output only, both application and test output or any
other combination of the builtin streams. The user visible command
line option that controls this behavior is `--show`, which is an
application level option, that is, it's available to all avocado
commands. [2]
- Besides the builtin streams, test writers can use the standard
Python logging API to create new streams. These streams can be shown
on the command line as mentioned before, or persisted automatically
in the job results by means of the `--store-logging-stream` command
line option. [3][4]
- The new `avocado.core.safeloader` module, intends to make it easier
to to write new test loaders for various types of Python
code. [5][6]
- Based on the new `avocado.core.safeloader` module, a contrib script
called `avocado-find-unittests`, returns the name of
unittest.TestCase based tests found on a given number of Python
source code files. [7]
- Avocado is now able to run its own selftest suite. By leveraging the
`avocado-find-unittests` contrib script and the External Runner [8]
feature. A Makefile target is available, allowing developers to run
`make selfcheck` to have the selftest suite run by Avocado. [9]
- Partial Python 3 support. A number of changes were introduced that
allow concurrent Python 2 and 3 support on the same code base. Even
though the support for Python 3 is still _incomplete_, the `avocado`
command line application can already run some limited commands at
this point.
- Asset fetcher utility library. This new utility library, and
INSTRUMENTED test feature, allows users to transparently request
external assets to be used in tests, having them cached for later
use. [10]
- Further cleanups in the public namespace of the avocado Test class.
- [BUG FIX] Input from the local system was being passed to remote
systems when running tests with either in remote systems or VMs.
- [BUG FIX] HTML report stability improvements, including better
Unicode handling and support for other versions of the Pystache
library.
- [BUG FIX] Atomic updates of the "latest" job symlink, allows for
more reliable user experiences when running multiple parallel jobs.
- [BUG FIX] The avocado.core.data_dir module now dynamically checks
the configuration system when deciding where the data directory
should be located. This allows for later updates, such as when
giving one extra `--config` parameter in the command line, to be
applied consistently throughout the framework and test code.
- [MAINTENANCE] The CI jobs now run full checks on each commit on
any proposed PR, not only on its topmost commit. This gives higher
confidence that a commit in a series is not causing breakage that
a later commit then inadvertently fixes.

For a complete list of changes please check the Avocado changelog[11].

For Avocado-VT, please check the full Avocado-VT changelog[12].

Avocado Videos

As yet another way to let users know about what's available in
Avocado, we're introducing short videos with very targeted content on
our very own YouTube channel:

https://www.youtube.com/channel/UCP4xob52XwRad0bU_8V28rQ

The first video available demonstrates a couple of new features
related to the advanced logging mechanisms, introduced on this
release:

https://www.youtube.com/watch?v=8Ur_p5p6YiQ

Install avocado

Instructions are available in our documentation on how to install
either with packages or from source[13].

Updated RPM packages are be available in the project repos for
Fedora 22, Fedora 23, EPEL 6 and EPEL 7.

Happy hacking and testing!

---

[1] http://avocado-framework.readthedocs.org/en/0.34.0/LoggingSystem.html
[2] http://avocado-framework.readthedocs.org/en/0.34.0/LoggingSystem.html#tweaking-the-ui
[3] http://avocado-framework.readthedocs.org/en/0.34.0/LoggingSystem.html#storing-custom-logs
[4] http://avocado-framework.readthedocs.org/en/0.34.0/WritingTests.html#advanced-logging-capabilities
[5] https://github.com/avocado-framework/avocado/blob/0.34.0/avocado/core/safeloader.py
[6] http://avocado-framework.readthedocs.org/en/0.34.0/api/core/avocado.core.html#module-avocado.core.safeloader
[7] https://github.com/avocado-framework/avocado/blob/0.34.0/contrib/avocado-find-unittests
[8] http://avocado-framework.readthedocs.org/en/0.34.0/GetStartedGuide.html#running-tests-with-an-external-runner
[9] https://github.com/avocado-framework/avocado/blob/0.34.0/Makefile#L33
[10] http://avocado-framework.readthedocs.org/en/0.34.0/WritingTests.html#fetching-asset-files
[11] https://github.com/avocado-framework/avocado/compare/0.33.0...0.34.0
[12] https://github.com/avocado-framework/avocado-vt/compare/0.33.0...0.34.0
[13] http://avocado-framework.readthedocs.org/en/latest/GetStartedGuide.html#installing-avocado

0.31.0

Hi everyone! Right on time for the holidays, Avocado reaches the end
of Sprint 31, and together with it, we're very happy to announce a brand
new release! This version brings stability fixes and improvements to
both Avocado and Avocado-VT, some new features and a major redesign of
our plugin architecture.

For Avocado the main changes are:
- It's now possible to register callback functions to be executed when
all tests finish, that is, at the end of a particular job[1].
- The software manager utility library received a lot of love on the
Debian side of things. If you're writing tests that install software
packages on Debian systems, you may be in for some nice treats and
much more reliable results.
- Passing malformed commands (such as ones that can not be properly
split by the standard shlex library) to the process utility library
is now better dealt with.
- The test runner code received some refactors and it's a lot easier
to follow. If you want to understand how the Avocado test runner
communicates with the processes that run the test themselves, you
may have a much better code reading experience now.
- Updated inspektor to the latest and greatest, so that our code is
kept is shiny and good looking (and performing) as possible.
- Fixes to the utility GIT library when using a specific local branch
name.
- Changes that allow our selftest suite to run properly on virtualenvs.
- Proper installation requirements definition for Python 2.6 systems.
- A completely new plugin architecture[2]. Now we offload all plugin
discovery and loading to the Stevedore library. Avocado now defines
precise (and simpler) interfaces for plugin writers. Please be aware
that the public and documented interfaces for plugins, at the
moment, allows adding new commands to the avocado command line app,
or adding new options to existing commands. Other functionality can
be achived by "abusing" the core avocado API from within
plugins. Our goal is to expand the interfaces so that other areas of
the framework can be extended just as easily.

For a complete list of changes please check the Avocado changelog[3].

Avocado-VT received just too many fixes and improvements to
list. Please refer to the changelog[4] for more information.

Install avocado

Instructions are available in our documentation on how to install
either with packages or from source[5].

Within a couple of hours, updated RPM packages will be available in
the project repos for Fedora 22, Fedora 23, EPEL 6 and EPEL 7.

Happy hacking and testing!

---

[1] http://avocado-framework.readthedocs.org/en/0.31.0/ReferenceGuide.html#job-cleanup
[2] http://avocado-framework.readthedocs.org/en/0.31.0/Plugins.html
[3] https://github.com/avocado-framework/avocado/compare/0.30.0...0.31.0
[4] https://github.com/avocado-framework/avocado-vt/compare/0.30.0...0.31.0
[5] http://avocado-framework.readthedocs.org/en/0.31.0/GetStartedGuide.html

0.30.0

Hello! Avocado reaches the end of Sprint 30, and with it, we have a new release available! This version brings stability fixes and improvements to both Avocado and Avocado-vt.

As software doesn't spring out of life itself, we'd like to acknowledge the major contributions by Lucas (AKA lmr) since the dawn of time for Avocado (and earlier projects like Autotest and virt-test). Although the Avocado team at Red Hat was hit by some changes, we're already extremely happy to see that this major contributor (and good friend) has not gone too far.

Now back to the more informational part of the release notes. For Avocado the main changes are:
- New RPM repository location, check the docs[1] for instructions on how to install the latest releases
- Makefile rules for building RPMs are now based on mock, to ensure sound dependencies
- Packaged versions are now available for Fedora 22, newly released Fedora 23, EL6 and EL7
- The software manager utility library now supports DNF
- The avocado test runner now supports a dry run mode, which allows users to check how a job would be executed, including tests that would be found and parameters that would be passed to it. This is currently complementary to the avocado list command.
- The avocado test runner now supports running simple tests with parameters. This may come in handy for simple use cases when Avocado will wrap a test suite, but the test suite needs some command line arguments.

Avocado-vt also received many bugfixes[3]. Please refer to the changelog for more information.

Install avocado

Instructions are available in our documentation on how to install either with packages or from source[1].

Happy hacking and testing!

---

[1] http://avocado-framework.readthedocs.org/en/0.30.0/GetStartedGuide.html
[2] https://github.com/avocado-framework/avocado/compare/0.29.0...0.30.0
[3] https://github.com/avocado-framework/avocado-vt/compare/0.29.0...0.30.0

0.29.0

[2] http://avocado-framework.readthedocs.org/en/0.29.0/ReferenceGuide.html#test-resolution
[3] http://avocado-framework.readthedocs.org/en/0.29.0/Loaders.html
[4] https://github.com/avocado-framework/avocado/compare/0.28.0...0.29.0

Page 4 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.