10205e8daSAndrew Geissler#!/usr/bin/expect
20205e8daSAndrew Geissler#
30205e8daSAndrew Geissler# Launch QEMU and verify we can login then sleep for defined amount of time
40205e8daSAndrew Geissler# before exiting
50205e8daSAndrew Geissler#
60205e8daSAndrew Geissler#  Requires following env variables be set:
70205e8daSAndrew Geissler#   QEMU_RUN_TIMER  Amount of time to run the QEMU instance
80205e8daSAndrew Geissler#   HOME            Location of scripts
90205e8daSAndrew Geissler
100205e8daSAndrew Geisslerset timeout "$env(QEMU_RUN_TIMER)*2"
110205e8daSAndrew Geisslerset command "$env(HOME)/boot-qemu.sh"
120205e8daSAndrew Geissler
130205e8daSAndrew Geisslerspawn $command
140205e8daSAndrew Geissler
150205e8daSAndrew Geisslerexpect {
160205e8daSAndrew Geissler  timeout { send_user "\nFailed to boot\n"; exit 1 }
170205e8daSAndrew Geissler  eof { send_user "\nFailure, got EOF"; exit 1 }
18*4290d580SAndrew Geissler  "* login:"
190205e8daSAndrew Geissler}
200205e8daSAndrew Geissler
210205e8daSAndrew Geisslersend "root\r"
220205e8daSAndrew Geissler
230205e8daSAndrew Geisslerexpect {
240205e8daSAndrew Geissler  timeout { send_user "\nFailed, no login prompt\n"; exit 1 }
250205e8daSAndrew Geissler  eof { send_user "\nFailure, got EOF"; exit 1 }
260205e8daSAndrew Geissler  "Password:"
270205e8daSAndrew Geissler}
280205e8daSAndrew Geissler
290205e8daSAndrew Geisslersend "0penBmc\r"
300205e8daSAndrew Geissler
310205e8daSAndrew Geisslerexpect {
320205e8daSAndrew Geissler  timeout { send_user "\nFailed, could not login\n"; exit 1 }
330205e8daSAndrew Geissler  eof { send_user "\nFailure, got EOF"; exit 1 }
34*4290d580SAndrew Geissler  "root@*:~#"
350205e8daSAndrew Geissler}
360205e8daSAndrew Geissler
370205e8daSAndrew Geisslersend_user "OPENBMC-READY\n"
380205e8daSAndrew Geisslersleep "$env(QEMU_RUN_TIMER)"
390205e8daSAndrew Geisslersend_user "OPENBMC-EXITING\n"
40