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 tomli
import shutil
import json
from io import BytesIO
from datetime import datetime
@ -97,9 +98,17 @@ parser.add_argument('--qemu-cmd', help='Only generate QEMU launch command',
args = parser.parse_args()
# This is what we requested the build to contain
with open('data/defaults.toml', 'rb') as 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):
"""
Fake file-like stream object that redirects writes to a logger instance.
@ -538,6 +547,16 @@ try:
c.expect('kvm')
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
vyos_kernel_key = 'VyOS build time autogenerated kernel key'
c.sendline(f'show log kernel | match "{vyos_kernel_key}"')