This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [obv] testsuite: disp-step-syscall.exp: Setup KFAIL for PR server/13796
- From: Yao Qi <yao at codesourcery dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Sat, 3 Mar 2012 22:30:28 +0800
- Subject: Re: [obv] testsuite: disp-step-syscall.exp: Setup KFAIL for PR server/13796
- References: <20120303070105.GA13581@host2.jankratochvil.net>
On 03/03/2012 03:01 PM, Jan Kratochvil wrote:
> - gdb_test "stepi" ".*" "single step over $syscall"
> + if {$syscall == "vfork" && [is_remote target]} {
> + setup_kfail server/13796 "*-*-*"
> + }
> + set test "single step over $syscall"
> + gdb_test_multiple "stepi" $test {
> + -re "Program terminated with signal SIGILL,.*\r\n$gdb_prompt $" {
> + fail $test
> + return
> + }
> + -re "\r\n$gdb_prompt $" {
> + pass $test
> + }
> + }
> +
Yes, it looks like a bug in GDBserver. The test case doesn't catch
the output below in my env, and get a KPASS.
(gdb) PASS: gdb.base/disp-step-syscall.exp: vfork: set displaced-stepping on
stepi
[Inferior 1 (process 46507) exited normally]^M
Child exited with status 0
GDBserver exiting^M
(gdb) KPASS: gdb.base/disp-step-syscall.exp: vfork: single step over vfork (PRMS server/13796)
Patch below is to fix this, OK to apply?
--
Yao (éå)
gdb/testsuite/
* gdb.base/disp-step-syscall.exp (disp_step_cross_syscall): Catch error
messages for KFAIL.
diff --git a/gdb/testsuite/gdb.base/disp-step-syscall.exp b/gdb/testsuite/gdb.base/disp-step-syscall.exp
index 486701c..915cb97 100644
--- a/gdb/testsuite/gdb.base/disp-step-syscall.exp
+++ b/gdb/testsuite/gdb.base/disp-step-syscall.exp
@@ -127,6 +127,10 @@ proc disp_step_cross_syscall { syscall } { with_test_prefix "$syscall" {
fail $test
return
}
+ -re "\\\[Inferior .* exited normally\\\].*\r\n$gdb_prompt $" {
+ fail $test
+ return
+ }
-re "\r\n$gdb_prompt $" {
pass $test
}