From 864c08c95f70ea419f44859ec2d0b5f5d6966343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Po=C5=82awski?= Date: Wed, 23 Oct 2024 12:51:00 +0200 Subject: [PATCH] Add test for EFI log processing '/usr/libexec/anaconda/log-capture' is an util to generate runtime logs. This commit adds test validating output of this util. --- efi-log-check.sh | 15 +++++++++++++++ efi-log.ks.in | 36 ++++++++++++++++++++++++++++++++++++ efi-log.sh | 24 ++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 efi-log-check.sh create mode 100644 efi-log.ks.in create mode 100755 efi-log.sh diff --git a/efi-log-check.sh b/efi-log-check.sh new file mode 100644 index 00000000..a401a894 --- /dev/null +++ b/efi-log-check.sh @@ -0,0 +1,15 @@ +SYSROOT=/mnt/sysroot +RESULT_FILE=${SYSROOT}/root/RESULT + +# Check if log util can be called +function check_log_util_exist() { + local exit_code=0 + + /usr/libexec/anaconda/log-capture + + if [[ $? -ne ${exit_code} ]]; then + echo "*** Failed check: log-capture util cant be called" >> ${RESULT_FILE} + fi +} + +# Check if log util produces expected results diff --git a/efi-log.ks.in b/efi-log.ks.in new file mode 100644 index 00000000..f3f3370a --- /dev/null +++ b/efi-log.ks.in @@ -0,0 +1,36 @@ +#version=DEVEL +#test name: efi-log +%ksappend repos/default.ks +network --bootproto=dhcp + +bootloader --timeout=1 +zerombr +clearpart --all --initlabel +autopart + +keyboard --xlayouts='cz (qwerty),us (euro)' --vckeymap=us --switch=grp:alt_shift_toggle +lang en_US.UTF-8 +timezone America/New_York --utc +rootpw testcase +shutdown + +%packages +@core +%end + +%post --nochroot + +@KSINCLUDE@ efi-log-check.sh + +check_log_util_exist + +%end + +%post + +# No error was written to /root/RESULT file, everything is OK +if [[ ! -e /root/RESULT ]]; then + echo SUCCESS > /root/RESULT +fi + +%end diff --git a/efi-log.sh b/efi-log.sh new file mode 100755 index 00000000..5fdf0fc3 --- /dev/null +++ b/efi-log.sh @@ -0,0 +1,24 @@ +# +# Copyright (C) 2024 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions of +# the GNU General Public License v.2, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY expressed or implied, including the implied warranties of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. You should have received a copy of the +# GNU General Public License along with this program; if not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +# source code or documentation are not subject to the GNU General Public +# License and may only be used or replicated with the express permission of +# Red Hat, Inc. +# +# Red Hat Author(s): Paweł Poławski + +# Ignore unused variable parsed out by tooling scripts as test tags metadata +# shellcheck disable=SC2034 +TESTTYPE="efi log coverage" + +. ${KSTESTDIR}/functions.sh