Merge pull request #876 from c-po/T6999-os-release

Testsuite: T6999: validate content of /etc/os-release in target system
This commit is contained in:
Viacheslav Hletenko 2025-01-03 21:57:44 +02:00 committed by GitHub
commit aa4ba3d95e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -44,6 +44,7 @@ import logging
import re import re
import tomli import tomli
import shutil import shutil
import json
from io import BytesIO from io import BytesIO
from datetime import datetime from datetime import datetime
@ -97,9 +98,17 @@ parser.add_argument('--qemu-cmd', help='Only generate QEMU launch command',
args = parser.parse_args() args = parser.parse_args()
# This is what we requested the build to contain
with open('data/defaults.toml', 'rb') as f: 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
with open('build/manifest.json', 'rb') as f:
manifest = json.load(f)
vyos_version = manifest['build_config']['version']
vyos_codename = manifest['build_config']['debian_distribution']
class StreamToLogger(object): class StreamToLogger(object):
""" """
Fake file-like stream object that redirects writes to a logger instance. Fake file-like stream object that redirects writes to a logger instance.
@ -538,6 +547,16 @@ try:
c.expect('kvm') c.expect('kvm')
c.expect(op_mode_prompt) c.expect(op_mode_prompt)
#################################################
# Verify /etc/os-release via lsb_release
#################################################
c.sendline('lsb_release --short --id 2>/dev/null')
c.expect('VyOS')
c.sendline('lsb_release --short --release 2>/dev/null')
c.expect(vyos_version)
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'
c.sendline(f'show log kernel | match "{vyos_kernel_key}"') c.sendline(f'show log kernel | match "{vyos_kernel_key}"')