ce0ac10b6d
Kirigami: remove stub .cpp, add Qt platform integration headers for QML gate. Matches KDE src/pattern for direct header-only builds. Cookbook: add --no-backup-if-mismatch to patch invocation (fetch.rs). Kernel: consolidate patch chain, add debug-scheme-serial-fix. Docs: archive old audit reports, add CHANGELOG and hardware validation matrix. Update AGENTS.md with Linux reference source policy. Scripts: add test-network-qemu.sh, test-storage-qemu.sh. .gitignore: add local/reference/ exclusion.
34 lines
1.4 KiB
Bash
Executable File
34 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# test-network-qemu.sh — bounded network driver validation in QEMU
|
|
# Phase 5.1 of CHANGELOG-DRIVER-IMPROVEMENT-PLAN.md
|
|
set -euo pipefail
|
|
IMAGE="${1:-build/x86_64/redbear-mini/harddrive.img}"
|
|
QEMU="${QEMU:-qemu-system-x86_64}"
|
|
OVMF_CODE="${OVMF_CODE:-/usr/share/edk2/x64/OVMF_CODE.4m.fd}"
|
|
TIMEOUT="${TIMEOUT:-90}"
|
|
SERIAL_LOG="/tmp/rbos-net-test-$$.log"
|
|
|
|
[ -f "$IMAGE" ] || { echo "FAIL: image not found: $IMAGE"; exit 1; }
|
|
cp /usr/share/edk2/x64/OVMF_VARS.4m.fd /tmp/fw_vars_net.bin 2>/dev/null
|
|
|
|
echo "=== Network Driver Validation ==="
|
|
|
|
timeout "$TIMEOUT" "$QEMU" -M q35 -m 2G -smp 2 \
|
|
-drive file="$IMAGE",format=raw \
|
|
-drive if=pflash,format=raw,readonly=on,file="$OVMF_CODE" \
|
|
-drive if=pflash,format=raw,file=/tmp/fw_vars_net.bin \
|
|
-serial file:"$SERIAL_LOG" -display none -no-reboot \
|
|
-netdev user,id=net0 -device virtio-net-pci,netdev=net0 \
|
|
-netdev user,id=net1 -device e1000,netdev=net1 \
|
|
-d guest_errors 2>/dev/null &
|
|
QEMU_PID=$!
|
|
sleep $((TIMEOUT - 10))
|
|
|
|
PASS=0
|
|
grep -q 'virtio-net:.*MAC' "$SERIAL_LOG" && echo "PASS: virtio-net started" && PASS=$((PASS+1)) || echo "FAIL: virtio-net not started"
|
|
grep -q 'DHCP' "$SERIAL_LOG" && echo "PASS: DHCP client started" && PASS=$((PASS+1)) || echo "FAIL: DHCP not started"
|
|
kill $QEMU_PID 2>/dev/null; wait $QEMU_PID 2>/dev/null
|
|
echo "=== Results: $PASS/2 checks passed ==="
|
|
rm -f /tmp/fw_vars_net.bin "$SERIAL_LOG"
|
|
[ $PASS -ge 2 ] && exit 0 || exit 1
|