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