FDS/OS 1.0
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
source "$(dirname -- "${BASH_SOURCE[0]}")/../../tools/lib.sh"
|
||||
cd "$FDS_ROOT"
|
||||
use_xbps
|
||||
[[ -f out/rootfs-cli.tar ]] || die 'Run make rootfs PROFILE=cli first'
|
||||
if ! xbps-query -r "$FDS_VOID/masterdir-x86_64" qemu-system-aarch64 >/dev/null 2>&1; then
|
||||
tools/in-void xbps-install -y qemu-system-aarch64
|
||||
fi
|
||||
tools/prepare-vm
|
||||
work=$(mktemp -d "$FDS_ROOT/out/m2-vm.XXXXXX")
|
||||
python3 tools/make-vm-image "$work"
|
||||
sha256sum config/vm-test.conf tools/prepare-vm tools/make-vm-image tools/run-vm \
|
||||
tests/integration/m2-checks tests/integration/m2-guest >"$work/test-inputs.sha256"
|
||||
sha256sum "$work/rootfs.ext4" >"$work/disk-before.sha256"
|
||||
{
|
||||
cat config/vm-test.conf
|
||||
printf '\n'
|
||||
tools/in-void qemu-system-aarch64 --version
|
||||
mkfs.ext4 -V 2>&1
|
||||
} >"$work/test-environment.txt"
|
||||
printf 'ARM boot test artifacts: %s\n' "$work"
|
||||
timeout --foreground 180 tools/run-vm "$work" 2>&1 | tee "$work/serial.log"
|
||||
! grep -q 'FDS_M2_FAIL\|Kernel panic' "$work/serial.log" || die 'ARM guest reported a failure'
|
||||
for marker in FDS_M2_PID1 FDS_M2_FILESYSTEM FDS_M2_BOOT FDS_M2_SERVICE FDS_M2_PASS; do
|
||||
grep -q "$marker" "$work/serial.log" || die "Missing guest evidence: $marker"
|
||||
done
|
||||
grep -q 'Power down' "$work/serial.log" || die 'Guest did not complete orderly power-off'
|
||||
sha256sum -c "$work/disk-before.sha256"
|
||||
sha256sum out/rootfs-cli.tar "$work/test-rootfs.tar" "$work/rootfs.ext4" \
|
||||
out/vm-kernel/boot/vmlinux-* >"$work/artifacts.sha256"
|
||||
ln -sfn "${work##*/}" out/m2-vm-latest
|
||||
printf 'PASS: M2 ARM boot, native s6 PID 1, service control, and orderly power-off\n'
|
||||
printf 'SKIP: physical Pi boot and Dasung display recovery require M4/hardware\n'
|
||||
Reference in New Issue
Block a user