This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Skip two more attach tests when testing against stub-like targets
- From: Don Breazeal <donb at codesourcery dot com>
- To: <gdb-patches at sourceware dot org>, <palves at redhat dot com>
- Date: Wed, 14 Jan 2015 11:24:17 -0800
- Subject: Re: [PATCH] Skip two more attach tests when testing against stub-like targets
- Authentication-results: sourceware.org; auth=none
- References: <54B63984 dot 2020701 at redhat dot com>
On 1/14/2015 1:40 AM, Pedro Alves wrote:
> Could you make the tests use spawn_wait_for_attach too?
Sure, updated patch below.
--Don
-------------------
This patch updates two attach tests to use utility procs
for checking if the attach test should run and for
launching the program to be attached, as follows:
1) Use can_spawn_for_attach instead of is_remote target
2) Use spawn_wait_for_attach instead of exec/sleep
Tested (1) with i686-mingw32 host and i686-pc-linux-gnu build/target
and both with x86_64 Ubuntu.
gdb/testsuite/
2015-01-14 Don Breazeal <donb@codesourcery.com>
* gdb.base/attach-pie-noexec.exp: Use can_spawn_for_attach
instead of checking whether the target board is remote and
use spawn_wait_for_attach instead of exec/sleep.
* gdb.base/attach-twice.exp: Likewise.
---
gdb/testsuite/gdb.base/attach-pie-noexec.exp | 9 +++++----
gdb/testsuite/gdb.base/attach-twice.exp | 9 +++++----
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/gdb/testsuite/gdb.base/attach-pie-noexec.exp b/gdb/testsuite/gdb.base/attach-pie-noexec.exp
index f6aa1c8..30a2f4d 100644
--- a/gdb/testsuite/gdb.base/attach-pie-noexec.exp
+++ b/gdb/testsuite/gdb.base/attach-pie-noexec.exp
@@ -13,8 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Manipulation with PID on target is not supported.
-if [is_remote target] then {
+if {![can_spawn_for_attach]} {
return 0
}
@@ -53,8 +52,10 @@ if {$arch == ""} {
return 0
}
-set testpid [eval exec $binfile &]
-exec sleep 2
+# Start the program running and then wait for a bit, to be sure
+# that it can be attached to.
+
+set testpid [spawn_wait_for_attach $binfile]
gdb_start
file delete -- $binfile
diff --git a/gdb/testsuite/gdb.base/attach-twice.exp b/gdb/testsuite/gdb.base/attach-twice.exp
index 654ceca..f6a9eb6 100644
--- a/gdb/testsuite/gdb.base/attach-twice.exp
+++ b/gdb/testsuite/gdb.base/attach-twice.exp
@@ -13,8 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Manipulation with PID on target is not supported.
-if [is_remote target] then {
+if {![can_spawn_for_attach]} {
return 0
}
@@ -25,8 +24,10 @@ if { [prepare_for_testing ${testfile}.exp $executable] } {
return -1
}
-set testpid [eval exec $binfile &]
-exec sleep 2
+# Start the program running and then wait for a bit, to be sure
+# that it can be attached to.
+
+set testpid [spawn_wait_for_attach $binfile]
set parentpid 0
--
1.8.1.1