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]

[commit test fixes] [patch] Forbid "run" etc. for use_gdb_stub targets [Re: [patch] gdb.python/py-events.exp: Disable multi-inferior for gdbserver]


On Thu, 27 Oct 2011 20:09:36 +0200, Pedro Alves wrote:
> > I am not sure what is the correct way to handle gdbserver_start_extended.
> > gdb.server/ext-*.exp run gdbserver even in the default native run.  They
> > either should not run in the default native or they should not run in the
> > non-extended gdbserver mode.  Currently they run in both modes the same way.
> 
> These tests were written to smoke test gdbserver on native test runs.

Therefore shouldn't be the gdb.server/ext-*.exp testfiles skipped if the
target board defined use_gdb_stub?  (ext-attach.exp already is skipped, for
the [is_remote target] reason)

I have left it as is as the same duplicate run with different boards does not
harm anything.


> > --- a/gdb/testsuite/gdb.base/async-shell.exp
> > +++ b/gdb/testsuite/gdb.base/async-shell.exp
> > @@ -20,6 +20,10 @@ if { ![support_displaced_stepping] } {
> >      return -1
> >  }
> >  
> > +if [is_remote target] { 
> > +    return -1
> > +}
> 
> Shouldn't this be a check for use_gdb_stub instead?  (I know
> the bug was originally linux native.)  Doesn't matter much though.

Used now:
# The testfile uses "run".  The real bug happened only for ![is_remote target].

You are right the test can run everywhere !use_gdb_stub.  But with remote.c in
use the bug being tested cannot happen (there are no two child processes
conflicting for wait(PID) result), so it just gives PASS not testing much.


> The test fixes look right to me.  IMO, you should put them
> in upfront and separately from the new smart detection.

Checked in those.


Thanks,
Jan



http://sourceware.org/ml/gdb-cvs/2011-10/msg00208.html

--- src/gdb/testsuite/ChangeLog	2011/10/28 14:49:18	1.2913
+++ src/gdb/testsuite/ChangeLog	2011/10/28 17:32:28	1.2914
@@ -1,15 +1,27 @@
+2011-10-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.base/async-shell.exp: Skip the testfile for use_gdb_stub.
+	* gdb.base/attach-pie-misread.exp: Likewise.
+	* gdb.base/break-interp.exp: Likewise.
+	* gdb.base/default.exp (attach, run "r" abbreviation, run): Skip these
+	testcases for use_gdb_stub.
+	* gdb.dwarf2/dw2-restore.exp: Fix the run for use_gdb_stub.
+	(continue): New testcase.
+	* gdb.python/py-events.exp: Skip the testfile for use_gdb_stub.
+	* gdb.threads/attach-into-signal.exp: Likewise.
+	* gdb.threads/attach-stopped.exp: Likewise.
+	* gdb.threads/attachstop-mt.exp: Likewise.
+
 2011-10-28  Paul Koning  <paul_koning@dell.com>
 
 	* gdb.python/lib-types.exp (deep_items): Rename from deepitems.
 
-
 2011-10-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	* lib/mi-support.exp (breakpoint_re): Suppress match reporting.
 	(mi_gdb_test): Import globals thread_selected_re
 	and breakpoint_re.  Expect them optionally at the regex start.
 
-
 2011-10-27  Doug Evans  <dje@google.com>
 
 	* gdb.python/python.exp: Test source -s.
--- src/gdb/testsuite/gdb.base/async-shell.exp	2011/07/18 04:14:21	1.2
+++ src/gdb/testsuite/gdb.base/async-shell.exp	2011/10/28 17:32:29	1.3
@@ -20,6 +20,11 @@
     return -1
 }
 
+# The testfile uses "run".  The real bug happened only for ![is_remote target].
+if [target_info exists use_gdb_stub] {
+    return 0
+}
+
 if { [prepare_for_testing ${testfile}.exp ${testfile}] } {
     return -1
 }
--- src/gdb/testsuite/gdb.base/attach-pie-misread.exp	2011/01/01 15:33:40	1.3
+++ src/gdb/testsuite/gdb.base/attach-pie-misread.exp	2011/10/28 17:32:30	1.4
@@ -14,7 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test only works on GNU/Linux.
-if { ![isnative] || [is_remote host] || ![istarget *-linux*] || [skip_shlib_tests]} {
+if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+     || ![istarget *-linux*] || [skip_shlib_tests]} {
     continue
 }
 
--- src/gdb/testsuite/gdb.base/break-interp.exp	2011/07/01 19:12:12	1.30
+++ src/gdb/testsuite/gdb.base/break-interp.exp	2011/10/28 17:32:30	1.31
@@ -14,7 +14,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test only works on GNU/Linux.
-if { ![isnative] || [is_remote host] || ![istarget *-linux*] || [skip_shlib_tests]} {
+if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+     || ![istarget *-linux*] || [skip_shlib_tests]} {
     continue
 }
 
--- src/gdb/testsuite/gdb.base/default.exp	2011/05/20 14:37:20	1.49
+++ src/gdb/testsuite/gdb.base/default.exp	2011/10/28 17:32:30	1.50
@@ -39,23 +39,23 @@
 gdb_test "append binary memory" "Missing filename\." 
 gdb_test "append binary value"  "Missing filename\." 
 
-setup_xfail "mips-idt-*"
-gdb_test_multiple "attach" "attach" {
-    -re "Argument required .(process-id|program) to attach.*$gdb_prompt $"\
-	{ pass "attach" }
-    -re "You can't do that when your target is `None'.*$gdb_prompt $"\
-	{ pass "attach" }
-    -re "You can't do that without a process to debug.*$gdb_prompt $"\
-	{ pass "attach" }
-    -re "Don't know how to attach.  Try \"help target\"..*$gdb_prompt $"\
-	{ pass "attach" }
-    -re "Kill it. .y or n." {
-	send_gdb "y\n"
-	exp_continue
+if ![target_info exists use_gdb_stub] {
+    setup_xfail "mips-idt-*"
+    gdb_test_multiple "attach" "attach" {
+	-re "Argument required .(process-id|program) to attach.*$gdb_prompt $"\
+	    { pass "attach" }
+	-re "You can't do that when your target is `None'.*$gdb_prompt $"\
+	    { pass "attach" }
+	-re "You can't do that without a process to debug.*$gdb_prompt $"\
+	    { pass "attach" }
+	-re "Don't know how to attach.  Try \"help target\"..*$gdb_prompt $"\
+	    { pass "attach" }
+	-re "Kill it. .y or n." {
+	    send_gdb "y\n"
+	    exp_continue
+	}
     }
-}
 
-if ![target_info exists use_gdb_stub] {
     gdb_test "break" "No default breakpoint address now." "break"
     foreach i "b br bre brea" {
 	gdb_test $i "No default breakpoint address now." "break \"$i\" abbreviation"
@@ -420,7 +420,9 @@
 gdb_test "pwd" "Working directory .*" "pwd"
 
 #test run "r" abbreviation
-if [istarget "*-*-vxworks*"] then {
+if [target_info exists use_gdb_stub] {
+    # Only extended-remote supports "run".
+} elseif [istarget "*-*-vxworks*"] then {
     gdb_test "set args" ".*" "" 
 
     gdb_test "r" "Starting program: .*
@@ -446,7 +448,9 @@
 }
 
 #test run
-if [istarget "*-*-vxworks*"] then {
+if [target_info exists use_gdb_stub] {
+    # Only extended-remote supports "run".
+} elseif [istarget "*-*-vxworks*"] then {
     gdb_test "set args" ".*" "" 
 
     gdb_test "run" "Starting program: .*
--- src/gdb/testsuite/gdb.dwarf2/dw2-restore.exp	2011/05/13 17:17:22	1.5
+++ src/gdb/testsuite/gdb.dwarf2/dw2-restore.exp	2011/10/28 17:32:30	1.6
@@ -33,5 +33,8 @@
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
 
-gdb_test "run" ".*"
-gdb_test "where" ".*$hex in foo ().+$hex in _start ().*"
+if ![runto foo] {
+    return 0
+}
+gdb_test "continue" "$hex in foo \\(\\)"
+gdb_test "where" "#0 +$hex in foo \\(\\)\r\n#1 +$hex in _start \\(\\)"
--- src/gdb/testsuite/gdb.python/py-events.exp	2011/10/07 07:38:30	1.5
+++ src/gdb/testsuite/gdb.python/py-events.exp	2011/10/28 17:32:30	1.6
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+if [target_info exists use_gdb_stub] {
+    return 0
+}
+
 if $tracelevel then {
     strace $tracelevel
 }
--- src/gdb/testsuite/gdb.threads/attach-into-signal.exp	2011/01/01 15:33:50	1.6
+++ src/gdb/testsuite/gdb.threads/attach-into-signal.exp	2011/10/28 17:32:30	1.7
@@ -17,7 +17,8 @@
 # This file was created by Jan Kratochvil <jan.kratochvil@redhat.com>.
 
 # This test only works on Linux
-if { ![isnative] || [is_remote host] || ![istarget *-linux*] } {
+if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+     || ![istarget *-linux*] } {
     continue
 }
 
--- src/gdb/testsuite/gdb.threads/attach-stopped.exp	2011/10/14 16:05:05	1.7
+++ src/gdb/testsuite/gdb.threads/attach-stopped.exp	2011/10/28 17:32:30	1.8
@@ -18,7 +18,8 @@
 # This file was updated by Jan Kratochvil <jan.kratochvil@redhat.com>.
 
 # This test only works on Linux
-if { ![isnative] || [is_remote host] || ![istarget *-linux*] } {
+if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+     || ![istarget *-linux*] } {
     continue
 }
 
--- src/gdb/testsuite/gdb.threads/attachstop-mt.exp	2011/10/14 16:05:05	1.8
+++ src/gdb/testsuite/gdb.threads/attachstop-mt.exp	2011/10/28 17:32:30	1.9
@@ -17,7 +17,8 @@
 # <jjohnstn@redhat.com> and Jan Kratochvil <jan.kratochvil@redhat.com>.
 
 # This test only works on Linux
-if { ![isnative] || [is_remote host] || ![istarget *-linux*] } {
+if { ![isnative] || [is_remote host] || [target_info exists use_gdb_stub]
+     || ![istarget *-linux*] } {
     continue
 }
 


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