Merge #10 [WIP] Port dirinstall gating test from RHEL.
This commit is contained in:
commit
4591da2dc4
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
12
plans/integration.fmf
Normal file
12
plans/integration.fmf
Normal 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
|
22
tests/dirinstall/dirinstall.fmf
Normal file
22
tests/dirinstall/dirinstall.fmf
Normal 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
42
tests/dirinstall/dirinstall.sh
Executable 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
|
12
tests/dirinstall/ks.dirinstall.cfg
Normal file
12
tests/dirinstall/ks.dirinstall.cfg
Normal 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
|
4
tests/dirinstall/repositories
Normal file
4
tests/dirinstall/repositories
Normal 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
21
tests/dirinstall/show_logs.sh
Executable 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
|
Loading…
Reference in New Issue
Block a user