Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

These tags determine when a test runs. Some tests might be ran at multiple frequencies.

Avocado Tag

Description

pr

Ran in CI for every PR. These are generally small core tests.

daily_regression

Ran in CI once daily. These are generally less critical than pr tests.

full_regression

Ran in CI weekly. These are generally less critical than daily_regression, or longer-running tests. These usually do not overlap with daily_regression tests.

manual

Manual tests for special purposes. These tests might: not run in CI, require special configuration, be for specific environments.

soak

SOAK tests are ran manually at specified intervals.

deployment

Ran when deploying a new DAOS installation.

List of Stage/Environment Tags

These tags determine where a test runs. Each test should only have one set of these tags.

Avocado Tag

Description

hw,

small

Tests that are ran on the Functional Hardware Small stage

hw,

medium

Tests that are ran on the Functional Hardware Medium stage.

hw,large

Tests that are ran on the Functional Hardware Large stage.

vm

Tests that are ran on the VM Functional on [CentOS, Leap, Ubuntu] stages. This tag is usually not specified explicitly. Instead, the lack of a hw tag represents VM tests.

Anchor
Feature-Tags
Feature-Tags
List of Feature Tags

These tags group tests by common Features. The list recorded here is a starting point, and is likely to be incomplete or out-of-date. When evaluating which tag(s) should be used in the Features: pragma, remember that the tests themselves define the available set of tags, and can be consulted for hints as to which tags are likely to provide the best coverage for the PR.

Avocado Tag

Description

aggregation

Verifies aggregation-level features.

cart

Verifies cart-level features.

checksum

Verifies checksum features.

container

Verifies container features.

control

Verifies controlplane features.

datamover

Verifies Data Mover utilities.

Additional sub-tags:

  • mfu - mpifileutils

    • mfu_dcp - mpifileutils/dcp

    • mfu_dsync - mpifileutils/dsync

    • mfu_daos_serialize - mpifileutils/daos-serialize

    • mfu_daos_deserialize - mpifileutils/daos-deserialize

  • daos_cont_clone - daos container clone

  • daos_fs_copy - daos filesystem copy

daos_test

The daos_test suite.

daosperf

Verifies daos_perf.

deployment

Verifies DAOS on a newly deployed system.

dfuse

Verifies dfuse.

dfs

Verifies DFS. incomplete

dmg

Verifies dmg functionality.

ec

Verifies ec features.

hdf5

Verifies HDF5. incomplete

ior

Verifies ior.

pil4dfs

Verifies the pil4dfs library.

mdtest

Verifies mdtest.

object

Verifies object-level features.

osa

Verifies online and offline osa features.

pool

Verifies features related to pool operations.

rebuild

Verifies rebuild.

recovery

Verifies ddb and catastrophic recovery.

cat_recov

Verifies catastrophic recovery.

security

Verifies security features such as ACLs, pool and container permissions.

server

Verifies server-level features.

snap

Verifies snapshot features.

telemetry

Verifies telemetry features.

tx

Verifies transaction features.

Anchor
Specific-Test-Tags
Specific-Test-Tags
Finding Specific Test Tags

...

Short Answer

This helpful utility will tell you the minimal tags that represent all tests in a given file(s):

Code Block
languagebash
cd src/tests/ftest/
./tags.py list pool/create.py
PoolCreateTests

Long Answer

Each test is uniquely tagged with its method name and the test class it belongs to. For example, from ftest/pool/create.py, the :

  • test_create_max_pool will run only test_create_max_pool

...

  • test_create_no_space_loop will run only

...

  • test_create_no_space_loop

  • PoolCreateTests will run all tests in this class (there is usually one class per file, but in rare cases there are multiple classes per file)

Code Block
languagepy
def test_create_max_pool(self):
"""
    :avocado: tags=all,daily_regression
    :avocado: tags=hw,medium
    :avocado: tags=pool
    :avocado: tags=PoolCreateTests,test_create_max_pool
"""

def test_create_no_space_loop(self):
"""
    :avocado: tags=all,pr,daily_regression
    :avocado: tags=hw,medium
    :avocado: tags=pool
    :avocado: tags=PoolCreateTests,test_create_no_space_loop
"""