From dabd5b2a6a6b9550439f9258a0a01dac2d0c0e60 Mon Sep 17 00:00:00 2001
From: Christian Breunig <christian@breunig.cc>
Date: Fri, 3 Jan 2025 15:00:49 +0100
Subject: Testsuite: T6999: validate content of /etc/os-release in target
 system

The file /etc/os-release is written during image build, but it's content is not
validated that it can be used by e.g. "lsb_release -a" command.
---
 scripts/check-qemu-install | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install
index dc4bdd31..4eb5dd16 100755
--- a/scripts/check-qemu-install
+++ b/scripts/check-qemu-install
@@ -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}"')
-- 
cgit v1.2.3