From 66e82893efe1943ae679e3447c25f444b0aa7fa2 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 | 21 +++++++++++++++++++++ efi-log.ks.in | 25 +++++++++++++++++++++++++ efi-log.sh | 24 ++++++++++++++++++++++++ 3 files changed, 70 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..6dd49cc4 --- /dev/null +++ b/efi-log-check.sh @@ -0,0 +1,21 @@ +SYSROOT=/mnt/sysroot +RESULT_FILE=${SYSROOT}/root/RESULT + +# Check if log util can be called +function check_log_util_exist() { + if [ ! -f /usr/libexec/anaconda/log-capture ]; then + echo "*** Failed check: log-capture util does not exist" >> ${RESULT_FILE} + fi +} + +# Check if log utils runs without failure +function check_log_util_runs() { + 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 +} + diff --git a/efi-log.ks.in b/efi-log.ks.in new file mode 100644 index 00000000..9db102e3 --- /dev/null +++ b/efi-log.ks.in @@ -0,0 +1,25 @@ +#version=DEVEL +#test name: efi-log +%ksappend repos/default.ks + +%ksappend common/common_no_payload.ks + +%packages +@core +%end + +%post --nochroot + +@KSINCLUDE@ efi-log-check.sh + +check_log_util_exist +check_log_util_runs + +%end + +%post + +# No error was written to /root/RESULT file, everything is OK +%ksappend validation/success_if_result_empty_standalone.ks + +%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