This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/1] Fix internal warning when "gdb -p xxx" (test)


On 03/19/14 18:28, Pedro Alves wrote:
On 03/19/2014 04:03 AM, Hui Zhu wrote:

+    eval "spawn $GDB $INTERNAL_GDBFLAGS $GDBFLAGS --pid=$testpid"
+    expect {
+	-re "Reading symbols from.*$gdb_prompt $" {
+            pass "starting with --pid=$testpid"

Don't add the $testpid to the PASS/FAIL line, as it'll change between
testsuite runs, making gdb.sum diffs harder.

+	}
+	timeout 	{ fail "(timeout) starting with --pid=$testpid" }

Instead of repeating the text, write:

     set test "starting with --pid"
     expect {
	-re "Reading symbols from.*$gdb_prompt $" {
             pass "$test"
	}
	timeout {
             fail "$test (timeout)"
	}
     }

Otherwise OK.

Thanks!


Make a new version according to your comments.
Please help me review it.

Thanks,
Hui

2014-03-20  Hui Zhu  <hui@codesourcery.com>

	* gdb.base/attach.exp (do_command_attach_tests): New.

--- a/gdb/testsuite/gdb.base/attach.exp
+++ b/gdb/testsuite/gdb.base/attach.exp
@@ -384,6 +384,51 @@ proc do_call_attach_tests {} {
     remote_exec build "kill -9 ${testpid}"
 }
+proc do_command_attach_tests {} {
+    global gdb_prompt
+    global binfile
+    global verbose
+    global GDB
+    global INTERNAL_GDBFLAGS
+    global GDBFLAGS
+
+    if ![isnative] then {
+	unsupported "command attach test"
+	return 0
+    }
+
+    # Start the program running and then wait for a bit, to be sure
+    # that it can be attached to.
+
+    set testpid [eval exec $binfile &]
+    exec sleep 2
+    if { [istarget "*-*-cygwin*"] } {
+	# testpid is the Cygwin PID, GDB uses the Windows PID, which might be
+	# different due to the way fork/exec works.
+	set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
+    }
+
+    gdb_exit
+    if $verbose>1 then {
+        send_user "Spawning $GDB $INTERNAL_GDBFLAGS $GDBFLAGS --pid=$testpid\n"
+    }
+
+    eval "spawn $GDB $INTERNAL_GDBFLAGS $GDBFLAGS --pid=$testpid"
+    set test "starting with --pid"
+    expect {
+	-re "Reading symbols from.*$gdb_prompt $" {
+            pass "$test"
+	}
+	timeout {
+	    fail "$test (timeout)"
+	}
+    }
+
+    # Get rid of the process
+
+    remote_exec build "kill -9 ${testpid}"
+}
+
# Start with a fresh gdb @@ -404,4 +449,8 @@ gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 do_call_attach_tests
+# Test "gdb --pid"
+
+do_command_attach_tests
+
 return 0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]