t2sde/tests/921-inst-kexec.exp
2024-07-31 19:58:48 +00:00

75 lines
1.2 KiB
Plaintext

#!/usr/bin/expect -f
set qemu [lindex $argv 0]
set kernel [lindex $argv 1]
set initrd [lindex $argv 2]
set append [lindex $argv 3]
set argv [lreplace $argv 0 3]
# Wait enough (forever) until a long-time boot
set timeout 45
#timeout {exit 1}
set send_slow {8 .1}
# Start the guest VM
spawn $qemu -kernel $kernel -initrd $initrd -nographic -append "$append" {*}$argv
expect {
timeout {exit 1}
"T2 SDE installer first stage*"
}
expect {
timeout {exit 1}
"* hit enter otherwise. (default:*"
}
send "\n"
expect {
timeout {exit 1}
"install:/#"
}
send "mount \$ROCK_INSTALL_SOURCE_DEV /media\n"
expect {
timeout {exit 1}
"*mounted read-only*"
}
send "kernel=$kernel initrd=$initrd\n"
send "kexec -l /media/boot/\${kernel##*/} --initrd=/media/boot/\${initrd##*/} --command-line=\$(< /proc/cmdline)\n"
send "\[ \$? != 0 \] && echo FA''IL\n"
send "kexec -e\n"
set timeout 20
expect {
timeout {exit 1}
"FAIL" {exit 1}
"Nothing has been loaded" {exit 1}
"T2 SDE installer first stage*"
}
set timeout 45
expect {
timeout {exit 1}
"* hit enter otherwise. (default:*"
}
send "\n"
expect {
timeout {exit 1}
"install:/#"
}
send "echo o > /proc/sysrq-trigger\n"
expect {
timeout {exit 1}
"reboot: Power down"
}