1*0205e8daSAndrew Geissler#!/usr/bin/expect
2*0205e8daSAndrew Geissler#
3*0205e8daSAndrew Geissler# Launch QEMU and verify we can login then sleep for defined amount of time
4*0205e8daSAndrew Geissler# before exiting
5*0205e8daSAndrew Geissler#
6*0205e8daSAndrew Geissler#  Requires following env variables be set:
7*0205e8daSAndrew Geissler#   QEMU_RUN_TIMER  Amount of time to run the QEMU instance
8*0205e8daSAndrew Geissler#   HOME            Location of scripts
9*0205e8daSAndrew Geissler
10*0205e8daSAndrew Geisslerset timeout "$env(QEMU_RUN_TIMER)*2"
11*0205e8daSAndrew Geisslerset command "$env(HOME)/boot-qemu.sh"
12*0205e8daSAndrew Geissler
13*0205e8daSAndrew Geisslerspawn $command
14*0205e8daSAndrew Geissler
15*0205e8daSAndrew Geisslerexpect {
16*0205e8daSAndrew Geissler  timeout { send_user "\nFailed to boot\n"; exit 1 }
17*0205e8daSAndrew Geissler  eof { send_user "\nFailure, got EOF"; exit 1 }
18*0205e8daSAndrew Geissler  "qemuarm login:"
19*0205e8daSAndrew Geissler}
20*0205e8daSAndrew Geissler
21*0205e8daSAndrew Geisslersend "root\r"
22*0205e8daSAndrew Geissler
23*0205e8daSAndrew Geisslerexpect {
24*0205e8daSAndrew Geissler  timeout { send_user "\nFailed, no login prompt\n"; exit 1 }
25*0205e8daSAndrew Geissler  eof { send_user "\nFailure, got EOF"; exit 1 }
26*0205e8daSAndrew Geissler  "Password:"
27*0205e8daSAndrew Geissler}
28*0205e8daSAndrew Geissler
29*0205e8daSAndrew Geisslersend "0penBmc\r"
30*0205e8daSAndrew Geissler
31*0205e8daSAndrew Geisslerexpect {
32*0205e8daSAndrew Geissler  timeout { send_user "\nFailed, could not login\n"; exit 1 }
33*0205e8daSAndrew Geissler  eof { send_user "\nFailure, got EOF"; exit 1 }
34*0205e8daSAndrew Geissler  "root@qemuarm:~#"
35*0205e8daSAndrew Geissler}
36*0205e8daSAndrew Geissler
37*0205e8daSAndrew Geisslersend_user "OPENBMC-READY\n"
38*0205e8daSAndrew Geisslersleep "$env(QEMU_RUN_TIMER)"
39*0205e8daSAndrew Geisslersend_user "OPENBMC-EXITING\n"
40