| Index: gdb/testsuite/gdb.base/valgrind-infcall.exp
|
| diff --git a/gdb/testsuite/gdb.base/valgrind-infcall.exp b/gdb/testsuite/gdb.base/valgrind-infcall.exp
|
| index 107fd3ce6285025ce6b212b5b64216caf8a29a3b..349b32d08fedf2a18e62ee13b8fcba17c1f08ebd 100644
|
| --- a/gdb/testsuite/gdb.base/valgrind-infcall.exp
|
| +++ b/gdb/testsuite/gdb.base/valgrind-infcall.exp
|
| @@ -1,4 +1,4 @@
|
| -# Copyright 2012 Free Software Foundation, Inc.
|
| +# Copyright 2012-2013 Free Software Foundation, Inc.
|
|
|
| # This program is free software; you can redistribute it and/or modify
|
| # it under the terms of the GNU General Public License as published by
|
| @@ -18,17 +18,14 @@ if [is_remote target] {
|
| return 0
|
| }
|
|
|
| -set test valgrind-infcall
|
| -set srcfile $test.c
|
| -set executable $test
|
| -set binfile ${objdir}/${subdir}/${executable}
|
| -if {[build_executable $test.exp $executable $srcfile {debug}] == -1} {
|
| +standard_testfile .c
|
| +if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
|
| return -1
|
| }
|
|
|
| set test "spawn valgrind"
|
| set cmd "valgrind --vgdb-error=0 $binfile"
|
| -set res [remote_spawn host $cmd];
|
| +set res [remote_spawn host $cmd]
|
| if { $res < 0 || $res == "" } {
|
| verbose -log "Spawning $cmd failed."
|
| unsupported $test
|
| @@ -79,11 +76,12 @@ gdb_test_multiple "" $test {
|
| }
|
|
|
| # Do not kill valgrind.
|
| +set valgrind_pid [exp_pid -i [board_info host fileid]]
|
| unset gdb_spawn_id
|
| set board [host_info name]
|
| unset_board_info fileid
|
|
|
| -clean_restart $executable
|
| +clean_restart $testfile
|
|
|
| gdb_test "$vgdbcmd" " in \\.?_start .*" "target remote for vgdb"
|
|
|
| @@ -100,10 +98,14 @@ while {$loop && $continue_count < 100} {
|
| }
|
| -re "Remote connection closed.*\r\n$gdb_prompt $" {
|
| fail "$test (remote connection closed)"
|
| + # Only if valgrind got stuck.
|
| + remote_exec host "kill -9 ${valgrind_pid}"
|
| return -1
|
| }
|
| -re "The program is not being run\\.\r\n$gdb_prompt $" {
|
| fail "$test (valgrind vgdb has terminated)"
|
| + # Only if valgrind got stuck.
|
| + remote_exec host "kill -9 ${valgrind_pid}"
|
| return -1
|
| }
|
| -re "\r\n$gdb_prompt $" {
|
| @@ -122,3 +124,6 @@ gdb_test_multiple $test $test {
|
| pass $test
|
| }
|
| }
|
| +
|
| +# Only if valgrind got stuck.
|
| +remote_exec host "kill -9 ${valgrind_pid}"
|
|
|