[binutils-gdb] gdb: testsuite: add new gdb_attach to check "attach" command

Tiezhu Yang yangtiezhu@sourceware.org
Wed Mar 23 03:59:02 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a7e6a19e87f3d719ea23c65b580a6d9bca4ccab3

commit a7e6a19e87f3d719ea23c65b580a6d9bca4ccab3
Author: Tiezhu Yang <yangtiezhu@loongson.cn>
Date:   Thu Mar 17 10:22:14 2022 +0800

    gdb: testsuite: add new gdb_attach to check "attach" command
    
    This commit adds new gdb_attach to centralize the failure checking of
    "attach" command. Return 0 if attach failed, otherwise return 1.
    
    Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>

Diff:
---
 gdb/testsuite/lib/gdb.exp | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 892bf07266e..d8015fb92ec 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -5143,6 +5143,32 @@ proc can_spawn_for_attach { } {
     return 1
 }
 
+# Centralize the failure checking of "attach" command.
+# Return 0 if attach failed, otherwise return 1.
+
+proc gdb_attach { testpid args } {
+    parse_args {
+	{pattern ""}
+    }
+
+    if { [llength $args] != 0 } {
+	error "Unexpected arguments: $args"
+    }
+
+    gdb_test_multiple "attach $testpid" "attach" {
+	-re -wrap "Attaching to.*ptrace: Operation not permitted\\." {
+	    unsupported "$gdb_test_name (Operation not permitted)"
+	    return 0
+	}
+	-re -wrap "$pattern" {
+	    pass $gdb_test_name
+	    return 1
+	}
+    }
+
+    return 0
+}
+
 # Kill a progress previously started with spawn_wait_for_attach, and
 # reap its wait status.  PROC_SPAWN_ID is the spawn id associated with
 # the process.


More information about the Gdb-cvs mailing list