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