diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/test/sreset_world/run_mambo_sreset.sh | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/test/sreset_world/run_mambo_sreset.sh')
-rwxr-xr-x | roms/skiboot/test/sreset_world/run_mambo_sreset.sh | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/roms/skiboot/test/sreset_world/run_mambo_sreset.sh b/roms/skiboot/test/sreset_world/run_mambo_sreset.sh new file mode 100755 index 000000000..298a582f8 --- /dev/null +++ b/roms/skiboot/test/sreset_world/run_mambo_sreset.sh @@ -0,0 +1,76 @@ +#!/bin/bash + + +if [ -z "$MAMBO_PATH" ]; then + MAMBO_PATH=/opt/ibm/systemsim-p8/ +fi + +if [ -z "$MAMBO_BINARY" ]; then + MAMBO_BINARY="/run/pegasus/power8" +fi + +if [ ! -x "$MAMBO_PATH/$MAMBO_BINARY" ]; then + echo "Could not find executable MAMBO_BINARY ($MAMBO_PATH/$MAMBO_BINARY). Skipping sreset_world test"; + exit 0; +fi + +if [ -n "$KERNEL" ]; then + echo 'Please rebuild skiboot without KERNEL set. Skipping sreset_world test'; + exit 0; +fi + +if [ ! $(command -v expect) ]; then + echo 'Could not find expect binary. Skipping sreset_world test'; + exit 0; +fi + +if [ -n "$SKIBOOT_ENABLE_MAMBO_STB" ]; then + export SKIBOOT_ZIMAGE=$(pwd)/test/sreset_world/sreset_kernel/sreset_kernel.stb +else + export SKIBOOT_ZIMAGE=$(pwd)/test/sreset_world/sreset_kernel/sreset_kernel +fi + +# Currently getting some core dumps from mambo, so disable them! +ulimit -c 0 + +t=$(mktemp) || exit 1 + +trap "rm -f -- '$t'" EXIT + +( cd external/mambo; +cat <<EOF | expect +set timeout 30 +spawn $MAMBO_PATH/$MAMBO_BINARY -n -f ../../test/sreset_world/run_sreset_world.tcl +expect { +timeout { send_user "\nTimeout waiting for hello world\n"; exit 1 } +eof { send_user "\nUnexpected EOF\n"; exit 1 } +"Machine Check Stop" { exit 1;} +"Hello World!" +} +expect { +timeout { send_user "\nTimeout waiting for Hello SRESET\n"; exit 1 } +eof { send_user "\nUnexpected EOF\n"; exit 1 } +"Machine Check Stop" { exit 1;} +"Hello SRESET!" +} +expect { +timeout { send_user "\nTimeout waiting for shutdown\n"; exit 1} +eof { send_user "\nUnexpected EOF\n"; exit 1} +"Machine Check Stop" { exit 1;} +"Execution stopped: Sim Support exit requested stop" +} +wait +exit 0 +EOF +) 2>&1 > $t + +r=$? +if [ $r != 0 ]; then + cat $t + exit $r +fi + +if [ -n "$V" ] ; then cat "$t" ; fi +rm -f -- "$t" +trap - EXIT +exit 0; |