Files
src/tests/acceptance/firmware.sh
T
2026-08-04 17:59:44 +01:00

46 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
set -eu
acceptance_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
. "$acceptance_dir/harness.sh"
acceptance_init
acceptance_require_commands "the firmware acceptance test" expect
acceptance_require_file \
"$build_dir/mouse-disk.img" \
"run 'make check' before checking BIOS firmware"
acceptance_require_file \
"$build_dir/ovmf-code.fd" \
"run 'make check' before checking UEFI firmware"
acceptance_make_temporary firmware
raw_disk="$temporary/mouse-disk.img"
acceptance_clone_disk "$build_dir/mouse-disk.img" "$raw_disk"
run_firmware()
{
label=$1
check=$2
disk=$3
bus=$4
firmware=$5
MOUSE_BOOT_MODE=firmware \
MOUSE_DISK_IMAGE="$disk" \
MOUSE_DISK_BUS="$bus" \
MOUSE_FIRMWARE="$firmware" \
MOUSE_UEFI_CODE="$build_dir/ovmf-code.fd" \
MOUSE_MEMORY="${MOUSE_MEMORY:-1G}" \
expect "$acceptance_dir/firmware.exp" "$runner" "$label" "$check"
}
run_firmware "BIOS raw VirtIO" raw-virtio \
"$raw_disk" virtio bios
run_firmware "BIOS raw AHCI" raw-sata \
"$raw_disk" sata bios
run_firmware "UEFI raw AHCI" raw-uefi-sata \
"$raw_disk" sata uefi
run_firmware "UEFI raw NVMe" raw-uefi-nvme \
"$raw_disk" nvme uefi
printf '%s\n' "BIOS and UEFI firmware acceptance passed"