mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
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>
This commit is contained in:
committed by
Alex Bennée
parent
db205774d1
commit
fb8f359493
@@ -15,7 +15,8 @@ from .testcase import QemuBaseTest, QemuUserTest, QemuSystemTest
|
||||
from .linuxkernel import LinuxKernelTest
|
||||
from .decorators import skipIfMissingCommands, skipIfNotMachine, \
|
||||
skipFlakyTest, skipUntrustedTest, skipBigDataTest, skipSlowTest, \
|
||||
skipIfMissingImports, skipIfOperatingSystem, skipLockedMemoryTest
|
||||
skipIfMissingImports, skipIfOperatingSystem, skipLockedMemoryTest, \
|
||||
skipIfMissingEnv
|
||||
from .archive import archive_extract
|
||||
from .uncompress import uncompress
|
||||
from .gdb import GDB
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user