diff options
| author | Gustavo Romero <gustavo.romero@linaro.org> | 2025-10-03 14:18:18 +0000 |
|---|---|---|
| committer | Alex Bennée <alex.bennee@linaro.org> | 2025-10-07 07:33:40 +0100 |
| commit | fb8f35949384c3a00ef56528cb43e851c95268e6 (patch) | |
| tree | 80404141d7b18697b4cc499d0be19107ca72ea35 /tests/functional/qemu_test/decorators.py | |
| parent | db205774d1b2dc8e3a0e925f090a5b2f59b9bb70 (diff) | |
| download | focaccia-qemu-fb8f35949384c3a00ef56528cb43e851c95268e6.tar.gz focaccia-qemu-fb8f35949384c3a00ef56528cb43e851c95268e6.zip | |
tests/functional: Add decorator to skip test on missing env vars
Add a decorator to skip tests on missing env variable(s). Multiple variable names can be provided and if one or more of them are not set in the test environment the test is skipped and the missing vars are printed out. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> Message-ID: <20251003141820.85278-8-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'tests/functional/qemu_test/decorators.py')
| -rw-r--r-- | tests/functional/qemu_test/decorators.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/functional/qemu_test/decorators.py b/tests/functional/qemu_test/decorators.py index c0d1567b14..b239295804 100644 --- a/tests/functional/qemu_test/decorators.py +++ b/tests/functional/qemu_test/decorators.py @@ -11,6 +11,24 @@ from unittest import skipIf, skipUnless from .cmd import which ''' +Decorator to skip execution of a test if the provided +environment variables are not set. +Example: + + @skipIfMissingEnv("QEMU_ENV_VAR0", "QEMU_ENV_VAR1") +''' +def skipIfMissingEnv(*vars_): + missing_vars = [] + for var in vars_: + if os.getenv(var) == None: + missing_vars.append(var) + + has_vars = True if len(missing_vars) == 0 else False + + return skipUnless(has_vars, f"Missing env var(s): {', '.join(missing_vars)}") + +''' + Decorator to skip execution of a test if the list of command binaries is not available in $PATH. Example: |