Testsuite: T7043: make build/manifest.json optional

Support loading and testing random ISO images without the need for
build/manifest.json. If the file is detected - tests are run. If file is
not found - those tests are skipped.
This commit is contained in:
Christian Breunig 2025-01-22 20:44:56 +01:00
parent c1b5494ea0
commit f5887de05e

View File

@ -105,11 +105,13 @@ with open('data/defaults.toml', 'rb') as f:
vyos_defaults = tomli.load(f) vyos_defaults = tomli.load(f)
# This is what we got from the build # This is what we got from the build
with open('build/manifest.json', 'rb') as f: manifest_file = 'build/manifest.json'
manifest = json.load(f) if os.path.isfile(manifest_file):
with open('build/manifest.json', 'rb') as f:
manifest = json.load(f)
vyos_version = manifest['build_config']['version'] vyos_version = manifest['build_config']['version']
vyos_codename = manifest['build_config']['release_train'] vyos_codename = manifest['build_config']['release_train']
class StreamToLogger(object): class StreamToLogger(object):
""" """
@ -558,10 +560,11 @@ try:
################################################# #################################################
c.sendline('lsb_release --short --id 2>/dev/null') c.sendline('lsb_release --short --id 2>/dev/null')
c.expect('VyOS') c.expect('VyOS')
c.sendline('lsb_release --short --release 2>/dev/null') if os.path.isfile(manifest_file):
c.expect(vyos_version) c.sendline('lsb_release --short --release 2>/dev/null')
c.sendline('lsb_release --short --codename 2>/dev/null') c.expect(vyos_version)
c.expect(vyos_codename) c.sendline('lsb_release --short --codename 2>/dev/null')
c.expect(vyos_codename)
# Ensure ephemeral key is loaded # Ensure ephemeral key is loaded
vyos_kernel_key = 'VyOS build time autogenerated kernel key' vyos_kernel_key = 'VyOS build time autogenerated kernel key'