[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v1 2/4] CI: switch x86 EFI smoke test runner to qemu-xtf.sh
From: Denis Mukhin <dmukhin@xxxxxxxx> 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@xxxxxxxx> --- automation/gitlab-ci/test.yaml | 2 +- .../include/configs/xtf-x86-64-efi-config | 0 automation/scripts/include/xtf-x86-64-efi | 52 +++++++++++++++++++ automation/scripts/qemu-smoke-x86-64-efi.sh | 43 --------------- 4 files changed, 53 insertions(+), 44 deletions(-) create mode 100644 automation/scripts/include/configs/xtf-x86-64-efi-config create mode 100644 automation/scripts/include/xtf-x86-64-efi delete mode 100755 automation/scripts/qemu-smoke-x86-64-efi.sh diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 3adc841335..ca1e4eb528 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -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 hvm64 example 2>&1 | tee ${LOGFILE} needs: - debian-12-x86_64-gcc-debug diff --git a/automation/scripts/include/configs/xtf-x86-64-efi-config b/automation/scripts/include/configs/xtf-x86-64-efi-config new file mode 100644 index 0000000000..e69de29bb2 diff --git a/automation/scripts/include/xtf-x86-64-efi b/automation/scripts/include/xtf-x86-64-efi new file mode 100644 index 0000000000..79622d5a6c --- /dev/null +++ b/automation/scripts/include/xtf-x86-64-efi @@ -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_CONSOLE="${XEN_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 \ + " +} diff --git a/automation/scripts/qemu-smoke-x86-64-efi.sh b/automation/scripts/qemu-smoke-x86-64-efi.sh deleted file mode 100755 index 7572722be6..0000000000 --- a/automation/scripts/qemu-smoke-x86-64-efi.sh +++ /dev/null @@ -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\+$//' -- 2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |