46 lines
1.2 KiB
Bash
Executable File
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"
|