From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 442 invoked by alias); 14 Sep 2007 16:25:32 -0000 Received: (qmail 415 invoked by uid 22791); 14 Sep 2007 16:25:31 -0000 X-Spam-Check-By: sourceware.org Received: from dmz.mips-uk.com (HELO dmz.mips-uk.com) (194.74.144.194) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 14 Sep 2007 16:25:27 +0000 Received: from internal-mx1 ([192.168.192.240] helo=ukservices1.mips.com) by dmz.mips-uk.com with esmtp (Exim 3.35 #1 (Debian)) id 1IWDyt-00079w-00; Fri, 14 Sep 2007 17:25:23 +0100 Received: from perivale.mips.com ([192.168.192.200]) by ukservices1.mips.com with esmtp (Exim 3.36 #1 (Debian)) id 1IWDyo-00084r-00; Fri, 14 Sep 2007 17:25:18 +0100 Received: from macro (helo=localhost) by perivale.mips.com with local-esmtp (Exim 4.63) (envelope-from ) id 1IWDyo-0005YB-HX; Fri, 14 Sep 2007 17:25:18 +0100 Date: Fri, 14 Sep 2007 16:25:00 -0000 From: "Maciej W. Rozycki" To: Daniel Jacobowitz cc: gdb-patches@sourceware.org, "Maciej W. Rozycki" Subject: Re: mi*-watch.exp: Test both hardware and software watchpoints In-Reply-To: <20070914154030.GA32519@caradoc.them.org> Message-ID: References: <20070911161922.GA16571@caradoc.them.org> <20070914142430.GA28551@caradoc.them.org> <20070914154030.GA32519@caradoc.them.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-MIPS-Technologies-UK-MailScanner: Found to be clean X-MIPS-Technologies-UK-MailScanner-From: macro@mips.com Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-09/txt/msg00184.txt.bz2 On Fri, 14 Sep 2007, Daniel Jacobowitz wrote: > How about a double space after "$type: " in the output? I bet there > is: > > if {[info exists pf_prefix]} { > set message [concat $pf_prefix " " $message] > } > > (from dejagnu/framework.exp). Looks like yours is the right direction -- it is "concat" that is responsible for making sure there is exactly one space between its arguments. Thus I have now rewritten this bit as: lappend pf_prefix "$type:" -- truly in the TCL spirit. ;-) Here's the final version. Thanks for your inquisitiveness. 2007-09-14 Maciej W. Rozycki [mti-fix-scope] * gdb.mi/mi-watch.exp (test_watchpoint_all): New function. Move all the tests here and run them twice, once using software watchpoints and once using hardware watchpoints. * gdb.mi/mi2-watch.exp (test_watchpoint_all): Likewise. Maciej 14678.diff Index: binutils-quilt/src/gdb/testsuite/gdb.mi/mi2-watch.exp =================================================================== --- binutils-quilt.orig/src/gdb/testsuite/gdb.mi/mi2-watch.exp 2007-09-14 14:07:28.000000000 +0100 +++ binutils-quilt/src/gdb/testsuite/gdb.mi/mi2-watch.exp 2007-09-14 17:07:18.000000000 +0100 @@ -41,10 +41,6 @@ return -1 } -mi_delete_breakpoints -mi_gdb_reinitialize_dir $srcdir/$subdir -mi_gdb_load ${binfile} - proc test_watchpoint_creation_and_listing {} { global mi_gdb_prompt global srcfile @@ -167,16 +163,48 @@ } } -# Disable hardware watchpoints if necessary. +proc test_watchpoint_all {type} { + global pf_prefix + upvar srcdir srcdir + upvar subdir subdir + upvar binfile binfile + + set old_prefix $pf_prefix + lappend pf_prefix "$type:" + + mi_delete_breakpoints + mi_gdb_reinitialize_dir $srcdir/$subdir + mi_gdb_load ${binfile} + + mi_runto callee4 + test_watchpoint_creation_and_listing + #test_rwatch_creation_and_listing + #test_awatch_creation_and_listing + test_watchpoint_triggering + + set pf_prefix $old_prefix +} + +# Run the tests twice, once using software watchpoints... +mi_gdb_test "567-gdb-set can-use-hw-watchpoints 0" \ + "567\\^done" \ + "hw watchpoints toggle (1)" +test_watchpoint_all sw + +mi_gdb_exit + +# ... and unless requested otherwise... if [target_info exists gdb,no_hardware_watchpoints] { - mi_gdb_test "-gdb-set can-use-hw-watchpoints 0" "\\^done" "" + return 0 } -mi_runto callee4 -test_watchpoint_creation_and_listing -#test_rwatch_creation_and_listing -#test_awatch_creation_and_listing -test_watchpoint_triggering +mi_gdb_start + +# ... once using hardware watchpoints (if available). +mi_gdb_test "890-gdb-set can-use-hw-watchpoints 1" \ + "890\\^done" \ + "hw watchpoints toggle (2)" +test_watchpoint_all hw mi_gdb_exit return 0 Index: binutils-quilt/src/gdb/testsuite/gdb.mi/mi-watch.exp =================================================================== --- binutils-quilt.orig/src/gdb/testsuite/gdb.mi/mi-watch.exp 2007-09-14 14:07:28.000000000 +0100 +++ binutils-quilt/src/gdb/testsuite/gdb.mi/mi-watch.exp 2007-09-14 17:06:49.000000000 +0100 @@ -41,10 +41,6 @@ return -1 } -mi_delete_breakpoints -mi_gdb_reinitialize_dir $srcdir/$subdir -mi_gdb_load ${binfile} - proc test_watchpoint_creation_and_listing {} { global mi_gdb_prompt global srcfile @@ -167,16 +163,48 @@ } } -# Disable hardware watchpoints if necessary. +proc test_watchpoint_all {type} { + global pf_prefix + upvar srcdir srcdir + upvar subdir subdir + upvar binfile binfile + + set old_prefix $pf_prefix + lappend pf_prefix "$type:" + + mi_delete_breakpoints + mi_gdb_reinitialize_dir $srcdir/$subdir + mi_gdb_load ${binfile} + + mi_runto callee4 + test_watchpoint_creation_and_listing + #test_rwatch_creation_and_listing + #test_awatch_creation_and_listing + test_watchpoint_triggering + + set pf_prefix $old_prefix +} + +# Run the tests twice, once using software watchpoints... +mi_gdb_test "567-gdb-set can-use-hw-watchpoints 0" \ + "567\\^done" \ + "hw watchpoints toggle (1)" +test_watchpoint_all sw + +mi_gdb_exit + +# ... and unless requested otherwise... if [target_info exists gdb,no_hardware_watchpoints] { - mi_gdb_test "-gdb-set can-use-hw-watchpoints 0" "\\^done" "" + return 0 } -mi_runto callee4 -test_watchpoint_creation_and_listing -#test_rwatch_creation_and_listing -#test_awatch_creation_and_listing -test_watchpoint_triggering +mi_gdb_start + +# ... once using hardware watchpoints (if available). +mi_gdb_test "890-gdb-set can-use-hw-watchpoints 1" \ + "890\\^done" \ + "hw watchpoints toggle (2)" +test_watchpoint_all hw mi_gdb_exit return 0