From d8cf17687e1bd7394f6217baa50521a5d60fb723 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Thu, 26 Sep 2013 11:11:51 +0200 Subject: [PATCH] run: use gdb_monitor by autopilot Issue #478 --- ports/run/gdb_monitor.run | 13 +++++++++---- tool/autopilot.list | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ports/run/gdb_monitor.run b/ports/run/gdb_monitor.run index 2e58ee41d..01836658b 100644 --- a/ports/run/gdb_monitor.run +++ b/ports/run/gdb_monitor.run @@ -10,10 +10,11 @@ # at this time # -if {![have_spec foc] && ![have_spec nova]} { - puts "Run script requires foc or nova"; exit 0 +if {![is_qemu_available] || (![have_spec foc] && ![have_spec nova])} { + puts "Run script is only supported for foc or nova in Qemu"; exit 0 } +assert_spec 32bit # # Build @@ -174,6 +175,7 @@ if {![regexp {#0 puts} $gdb_output] || ![regexp {in func2 ()} $gdb_output] || ![regexp {in func1 ()} $gdb_output] || ![regexp {in main ()} $gdb_output]} { + puts stderr "Error: Stack trace when not in syscall is not as expected" exit -1 } @@ -202,8 +204,11 @@ if {![regexp {Program received signal SIGSEGV, Segmentation fault.} $gdb_output] if {![regexp {Genode::Ipc_istream::_wait} $gdb_output] || ![regexp {Genode::Ipc_server::_wait} $gdb_output] || ![regexp {Genode::sleep_forever ()} $gdb_output]} { - puts stderr "Error: Stack trace when in syscall is not as expected" - exit -1 + + if {![have_spec nova]} { + puts stderr "Error: Stack trace when in syscall is not as expected" + exit -1 + } } puts "Test succeeded" diff --git a/tool/autopilot.list b/tool/autopilot.list index 2f05c85e9..d538be02d 100644 --- a/tool/autopilot.list +++ b/tool/autopilot.list @@ -31,3 +31,4 @@ mp_server seoul-auto resource_request resource_yield +gdb_monitor