[obv] testsuite: disp-step-syscall.exp: Setup KFAIL for PR server/13796

Yao Qi yao@codesourcery.com
Sat Mar 3 14:30:00 GMT 2012


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
        }



More information about the Gdb-patches mailing list