From 3deb39c62d3cdb80ac3bdd4d418e05737433e7a6 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 13 May 2014 17:07:33 -0400 Subject: [PATCH] Fix mi_expect_stop for non-zero exit codes The message displayed by gdb is different when the inferior exits with zero and non-zero values, this fix takes that into account. gdb/testsuite/ChangeLog: 2014-05-13 Simon Marchi * lib/mi-support.exp (mi_expect_stop): Expect message for inferiors that exit with non-zero exit code. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/lib/mi-support.exp | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 836deb7..aaab227 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-05-15 Simon Marchi + + * lib/mi-support.exp (mi_expect_stop): Expect message for + inferiors that exit with non-zero exit code. + 2014-05-14 Yao Qi * gdb.mi/mi-file.exp (test_file_list_exec_source_file): Don't diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index ad58775..4478ba0 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -1068,6 +1068,20 @@ proc mi_expect_stop { reason func args file line extra test } { } return } + if { $reason == "exited" } { + gdb_expect { + -re "\\*stopped,reason=\"exited\",exit-code=\"\[0-7\]+\"\r\n$prompt_re" { + pass "$test" + } + -re ".*$mi_gdb_prompt$" { + fail "$test (inferior not stopped)" + } + timeout { + fail "$test (unknown output after running)" + } + } + return + } if { $reason == "solib-event" } { set pattern "\\*stopped,reason=\"solib-event\",thread-id=\"$decimal\",stopped-threads=$any\r\n($thread_selected_re|$breakpoint_re)*$prompt_re" -- 2.7.4