mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
CI: switch x86 EFI smoke test runner to qemu-xtf.sh
Use qemu-xtf.sh for qemu-smoke-x86-64-gcc-efi job. Lead time is reduced a bit since not all XTF code base is built, just the required test. Signed-off-by: Denis Mukhin <dmukhin@ford.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
1 parent
a22f80e758
commit
23041e72d9
4 files changed
+53
-44
No files matched your search
@@ -687,7 +687,7 @@ qemu-smoke-x86-64-clang-pvh:
|
||||
qemu-smoke-x86-64-gcc-efi:
|
||||
extends: .qemu-smoke-x86-64
|
||||
script:
|
||||
- ./automation/scripts/qemu-smoke-x86-64-efi.sh pv 2>&1 | tee ${LOGFILE}
|
||||
- ./automation/scripts/qemu-xtf.sh x86-64-efi pv64 example 2>&1 | tee ${LOGFILE}
|
||||
needs:
|
||||
- debian-12-x86_64-gcc-debug
|
||||
|
||||
|
||||
Whitespace-only changes.
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# XTF test utilities (x86_64, EFI).
|
||||
#
|
||||
|
||||
# Arch-specific environment overrides.
|
||||
function xtf_arch_prepare()
|
||||
{
|
||||
export FW_PREFIX="${FW_PREFIX:-/usr/share/OVMF/}"
|
||||
export QEMU_PREFIX="${QEMU_PREFIX:-}"
|
||||
export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen.efi}"
|
||||
export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot console_timestamps=boot console=com1}"
|
||||
export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-master}"
|
||||
export XTF_SRC_URI="${XTF_SRC_URI:-https://xenbits.xen.org/git-http/xtf.git}"
|
||||
export XTF_SRC_VARIANTS="hvm64 pv64"
|
||||
}
|
||||
|
||||
# Perform arch-specific XTF environment setup.
|
||||
function xtf_arch_setup()
|
||||
{
|
||||
local esp_dir="${WORKDIR}/boot-esp"
|
||||
local efi_dir="${esp_dir}/EFI/BOOT"
|
||||
|
||||
# Generate EFI boot environment
|
||||
mkdir -p ${efi_dir}
|
||||
cp ${XEN_BINARY} ${efi_dir}/BOOTX64.EFI
|
||||
cp ${XTF_BINARY} ${efi_dir}/kernel
|
||||
|
||||
cat > ${efi_dir}/BOOTX64.cfg <<EOF
|
||||
[global]
|
||||
default=test
|
||||
|
||||
[test]
|
||||
options=${XEN_CMDLINE}
|
||||
kernel=kernel
|
||||
EOF
|
||||
|
||||
# NB: OVMF_CODE.fd is read-only, no need to copy
|
||||
cp ${FW_PREFIX}OVMF_VARS.fd ${WORKDIR}
|
||||
|
||||
export TEST_CMD="${QEMU_PREFIX}qemu-system-x86_64 \
|
||||
-no-reboot \
|
||||
-nographic \
|
||||
-monitor none \
|
||||
-serial stdio \
|
||||
-m 512 \
|
||||
-M q35,kernel-irqchip=split \
|
||||
-drive if=pflash,format=raw,readonly=on,file=${FW_PREFIX}OVMF_CODE.fd \
|
||||
-drive if=pflash,format=raw,file=${WORKDIR}/OVMF_VARS.fd \
|
||||
-drive file=fat:rw:${esp_dir},media=disk,index=0,format=raw \
|
||||
"
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex -o pipefail
|
||||
|
||||
# variant should be either pv or pvh
|
||||
variant=$1
|
||||
|
||||
# Clone and build XTF
|
||||
git clone https://xenbits.xen.org/git-http/xtf.git
|
||||
cd xtf && make -j$(nproc) && cd -
|
||||
|
||||
case $variant in
|
||||
pvh) k=test-hvm64-example extra="dom0-iommu=none dom0=pvh" ;;
|
||||
*) k=test-pv64-example extra= ;;
|
||||
esac
|
||||
|
||||
mkdir -p boot-esp/EFI/BOOT
|
||||
cp binaries/xen.efi boot-esp/EFI/BOOT/BOOTX64.EFI
|
||||
cp xtf/tests/example/$k boot-esp/EFI/BOOT/kernel
|
||||
|
||||
cat > boot-esp/EFI/BOOT/BOOTX64.cfg <<EOF
|
||||
[global]
|
||||
default=test
|
||||
|
||||
[test]
|
||||
options=loglvl=all console=com1 noreboot console_timestamps=boot $extra
|
||||
kernel=kernel
|
||||
EOF
|
||||
|
||||
cp /usr/share/OVMF/OVMF_CODE.fd OVMF_CODE.fd
|
||||
cp /usr/share/OVMF/OVMF_VARS.fd OVMF_VARS.fd
|
||||
|
||||
rm -f smoke.serial
|
||||
export TEST_CMD="qemu-system-x86_64 -nographic -M q35,kernel-irqchip=split \
|
||||
-drive if=pflash,format=raw,readonly=on,file=OVMF_CODE.fd \
|
||||
-drive if=pflash,format=raw,file=OVMF_VARS.fd \
|
||||
-drive file=fat:rw:boot-esp,media=disk,index=0,format=raw \
|
||||
-m 512 -monitor none -serial stdio"
|
||||
|
||||
export TEST_LOG="smoke.serial"
|
||||
export PASSED="Test result: SUCCESS"
|
||||
|
||||
./automation/scripts/console.exp | sed 's/\r\+$//'
|
||||