Issue 0026

Summary
add test dependencies
Owner
Tim
Reporter
Tim, AGL, Seimens
Status
closed
Priority
very high

Description [edit section]

Dependencies are important to avoid running tests that have problems.

This feature allows the test creator to specify a set of dependencies that are checked before a test is invoked. It is intended that this be used for high-level sanity-checks - that is, to specify resources or configurations that, if missing, invalidate the entire test. If these are missing it makes it impossible to run the test.

Some tests check for features themselves, and abort the test or skip sub-tests if the features cannot be found. Individual tests use their own mechanisms for testing for these types of conditions.

These are checks intended to be used by the base script to validate whether a particular test even applies to a certain target (or target configuration).

The dependency checks are processed during the pre_test phase, and if the dependencies are not met, the test is aborted with a failure.

Existing support [edit section]

Fuego already supports the following mechanisms for detecting dependencies:

Types of dependencies [edit section]

Here are different types of dependencies that may be present:

Outcomes [edit section]

Should dependency failures result in test failures, or in some other failure result - like "test skipped"? Is this a particular type of failure that should be reported differently from a regular test failure?

Caching dependency information [edit section]

It may save time to be able to cache the dependency information about a particular target board, if detecting the information is time-consuming. For example, the

Industry survey [edit section]

How to other systems allow for checking for test dependencies?

proposal [edit section]

Notes [edit section]

This was originally suggested in July of 2016 (probably in discussions at LinuxCon Japan).

Both NEED_xxx variables and test_pre_check functions are supported by Fuego. See Dependencies.

backlink

Fuego Issues List, Fuego To Do List