Merge #10 [WIP] Port dirinstall gating test from RHEL.

This commit is contained in:
Radek Vykydal 2021-09-24 14:13:09 +00:00
commit 4591da2dc4
7 changed files with 114 additions and 0 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

12
plans/integration.fmf Normal file
View File

@ -0,0 +1,12 @@
summary: Integration tests for anaconda
discover:
how: fmf
filter: 'tag: integration'
execute:
how: tmt
finish:
how: shell
script: command -v journalctl && journalctl -a || true

View File

@ -0,0 +1,22 @@
summary: Dirinstall test on regular os
contact: Radek Vykydal <rvykydal@redhat.com>
path: /tests/dirinstall
test: ./dirinstall.sh
duration: 1h
tag: [integration]
/text:
summary: Dirinstall test on regular os - text UI
require:
- anaconda
environment:
ANACONDA_UI_MODE: text
/vnc:
summary: Dirinstall test on regular os - vnc UI
enabled: false
require:
- anaconda
- gnome-kiosk
environment:
ANACONDA_UI_MODE: vnc

42
tests/dirinstall/dirinstall.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh -eux
# Prepare test work directory
WORK_DIR=$(mktemp -d /var/tmp/dirinstall.XXXXXX)
# Create kickstart
KICKSTART_PATH=${WORK_DIR}/ks.cfg
source ./repositories
TEST_KICKSTART=./ks.dirinstall.cfg
# Dump URLs of installation repositories found in local repositories whose names are configured in 'repositories' file
echo "url --metalink=$(dnf repoinfo $BASE_REPO | grep ^Repo-metalink | cut -d: -f2- | sed 's/^ *//')" > ${KICKSTART_PATH}
for repo in $REPOS; do
echo "repo --name=$repo --metalink=$(dnf repoinfo $repo | grep ^Repo-metalink | cut -d: -f2- | sed 's/^ *//')" >> ${KICKSTART_PATH}
done
cat ${TEST_KICKSTART} >> ${KICKSTART_PATH}
# Log the kickstart
cat ${KICKSTART_PATH}
# Run dirinstall
INSTALL_DIR=${WORK_DIR}/install_dir
mkdir ${INSTALL_DIR}
anaconda --dirinstall ${INSTALL_DIR} --kickstart ${KICKSTART_PATH} --${ANACONDA_UI_MODE} --noninteractive 2>&1
# Remove test work directory
rm -rf ${WORK_DIR}
# Show and remove the logs for this anaconda run
./show_logs.sh

View File

@ -0,0 +1,12 @@
# The repository configuration (url, repo) needs to be added here.
# It varies by the product and version we are running on / testing
lang en_US.UTF-8
keyboard --vckeymap=us --xlayouts='us'
rootpw --plaintext redhat
timezone --utc Europe/Prague
shutdown
%packages
%end

View File

@ -0,0 +1,4 @@
# Names of local repositories whose urls will be used for installation
# Repositories for "Fedora X" release:
BASE_REPO="fedora"
REPOS="fedora-modular"

21
tests/dirinstall/show_logs.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/sh -x
ls /tmp
LOG_DIR=/tmp
cd ${LOG_DIR}
KS_SCRIPT_LOGS=$(ls ks-script-*.log)
cd -
ANACONDA_LOGS="anaconda.log storage.log packaging.log program.log dbus.log dnf.librepo.log ${KS_SCRIPT_LOGS}"
for log in ${ANACONDA_LOGS} ; do
LOG_PATH=${LOG_DIR}/${log}
if [ -f ${LOG_PATH} ]; then
echo "----------------------- Dumping log file $LOG_PATH:"
cat $LOG_PATH
# clear for the following test
rm $LOG_PATH
fi
done