From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23055 invoked by alias); 5 Apr 2012 08:14:40 -0000 Received: (qmail 23021 invoked by uid 22791); 5 Apr 2012 08:14:37 -0000 X-SWARE-Spam-Status: No, hits=-4.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,TW_XP X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 05 Apr 2012 08:14:22 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1SFhpk-0007SQ-Uw from Hui_Zhu@mentor.com ; Thu, 05 Apr 2012 01:14:20 -0700 Received: from SVR-ORW-FEM-03.mgc.mentorg.com ([147.34.97.39]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Thu, 5 Apr 2012 01:13:25 -0700 Received: from [127.0.0.1] (147.34.91.1) by svr-orw-fem-03.mgc.mentorg.com (147.34.97.39) with Microsoft SMTP Server id 14.1.289.1; Thu, 5 Apr 2012 01:14:18 -0700 Message-ID: <4F7D5456.9080806@mentor.com> Date: Thu, 05 Apr 2012 08:14:00 -0000 From: Hui Zhu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120310 Thunderbird/11.0 MIME-Version: 1.0 To: Pedro Alves CC: Tom Tromey , Subject: Re: [PATCH]testsuite: test for disconnected-tracing References: <4F71C7F0.90209@mentor.com> <87iphoy2xx.fsf@fleche.redhat.com> <4F73B80C.7050703@mentor.com> <4F744956.4060500@redhat.com> In-Reply-To: <4F744956.4060500@redhat.com> Content-Type: multipart/mixed; boundary="------------060601060403090108050901" X-IsSubscribed: yes 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: 2012-04/txt/msg00060.txt.bz2 --------------060601060403090108050901 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Content-length: 6085 Hi Pedro, Thanks for your help. On 03/29/12 19:36, Pedro Alves wrote: > On 03/29/2012 02:17 AM, Hui Zhu wrote: > >> Hi Tom, >> >> Thanks for your review. >> I post a new patch according to your comments. >> >> Best, >> Hui >> >> 2012-03-29 Hui Zhu >> >> * gdb.trace/Makefile.in (BUILD_DATA_DIRECTORY): Add > > > "BUILD_DATA_DIRECTORY" ? It looks like the change was to "PROGS" ? > >> disconnected-tracing. >> * gdb.trace/disconnected-tracing.c: New file. >> * gdb.trace/disconnected-tracing.exp: New file. >> >> On 03/29/12 02:51, Tom Tromey wrote: >>>>>>>> ">" == Hui Zhu writes: >>> >>>>> +gdb_test "set confirm off" ".*" >>> >>> I think we use gdb_test_no_output for things like this now. >>> I'm not sure whether it applies to other cases in your patch. >>> >>>>> +gdb_test "delete" ".*" >>> >>> Perhaps just calling delete_breakpoints would work? >>> >>> Tom >> >> disconnected-tracing.txt >> >> >> --- >> testsuite/gdb.trace/Makefile.in | 2 >> testsuite/gdb.trace/disconnected-tracing.c | 5 ++ >> testsuite/gdb.trace/disconnected-tracing.exp | 59 +++++++++++++++++++++++++++ >> 3 files changed, 65 insertions(+), 1 deletion(-) >> >> --- a/testsuite/gdb.trace/Makefile.in >> +++ b/testsuite/gdb.trace/Makefile.in >> @@ -5,7 +5,7 @@ srcdir = @srcdir@ >> >> PROGS = ax backtrace deltrace infotrace packetlen passc-dyn passcount \ >> report save-trace tfile tfind tracecmd tsv unavailable while-dyn \ >> - while-stepping >> + while-stepping disconnected-tracing >> >> all info install-info dvi install uninstall installcheck check: >> @echo "Nothing to be done for $@..." >> --- /dev/null >> +++ b/testsuite/gdb.trace/disconnected-tracing.c >> @@ -0,0 +1,5 @@ >> +int >> +main() >> +{ >> + return 0; >> +} >> \ No newline at end of file > > > Please add one. > > Add a copyright header while at it. Best be consistent and > make that a rule, even if the file is actually void of > copyrightable content for now. > > >> --- /dev/null >> +++ b/testsuite/gdb.trace/disconnected-tracing.exp >> @@ -0,0 +1,59 @@ >> +# Copyright 2012 Free Software Foundation, Inc. >> +# >> +# This program is free software; you can redistribute it and/or modify >> +# it under the terms of the GNU General Public License as published by >> +# the Free Software Foundation; either version 3 of the License, or >> +# (at your option) any later version. >> +# >> +# This program is distributed in the hope that it will be useful, >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> +# GNU General Public License for more details. >> +# >> +# You should have received a copy of the GNU General Public License >> +# along with this program. If not, see. >> + >> +# Test of disconnected-tracing. >> + >> +load_lib "trace-support.exp"; >> + >> +set testfile "disconnected-tracing" >> +set executable $testfile >> +set srcfile ${testfile}.c >> +set binfile $objdir/$subdir/$testfile >> +set expfile $testfile.exp >> +set gdbserver_reconnect_p 1 > > > Please see gdb.base/solib-disc.exp, the only current user > of gdbserver_reconnect_p. Add: > > if { [info proc gdb_reconnect] == "" } { > return 0 > } > >> + >> +if [prepare_for_testing $expfile $executable $srcfile \ >> + {debug nowarnings}] { >> + untested "failed to prepare for trace tests" >> + return -1 >> +} >> + >> +if ![runto_main] { >> + fail "Can't run to main to check for trace support" >> + return -1 >> +} >> + >> +if ![gdb_target_supports_trace] { >> + unsupported "target does not support trace" >> + return -1; >> +} >> + >> +gdb_test_no_output "set confirm off" ".*" > > > Please always look at the resulting messages in gdb.sum: > > PASS: gdb.trace/disconnected-tracing.exp: .* > ^^ > PASS: gdb.trace/disconnected-tracing.exp: trace main > PASS: gdb.trace/disconnected-tracing.exp: tstart > PASS: gdb.trace/disconnected-tracing.exp: First info tracepoints > PASS: gdb.trace/disconnected-tracing.exp: disconnect > PASS: gdb.trace/disconnected-tracing.exp: Second info tracepoints > PASS: gdb.trace/disconnected-tracing.exp: disconnect > PASS: gdb.trace/disconnected-tracing.exp: Third info tracepoints > PASS: gdb.trace/disconnected-tracing.exp: Fourth info tracepoints > > There are duplicate messages here. See > . > > I'd lowercase the "First", etc., in the test messages. It's much more common. > >> + >> +gdb_test "trace main" ".*" >> +gdb_test "tstart" ".*" > > > Use gdb_test_no_output for tstart: > > gdb_test_no_output "tstart" "start trace experiment" > >> + >> +gdb_test "info tracepoints" ".*in main at.*" "First info tracepoints" >> +gdb_test "disconnect" ".*" >> + >> +gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport > > > Please see gdb.base/solib-disc.exp for how to reconnect to the target. > >> +gdb_test "info tracepoints" ".*in main at.*" "Second info tracepoints" >> +gdb_test "disconnect" ".*" >> + >> +delete_breakpoints >> +gdb_test "info tracepoints" ".*No tracepoints..*" "Third info tracepoints" >> + >> +gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport > >> +gdb_test "info tracepoints" ".*in main at.*" "Fourth info tracepoints" > > > But most importantly, I've tried this patch against a tree from just before > the fixes, but the new tests all run cleanly there too. > > Also, should there be a "set disconnected-tracing on" somewhere? > If not, then the test's filename appears misleading. Maybe something > with "reconnect" in the name would be more representative? > Oops, I forgot it. I post a new version patch according to your comments. And I have test it with gdb-7.4 and got fail. Best, Hui 2012-04-05 Hui Zhu * gdb.trace/Makefile.in (PROGS): Add disconnected-tracing. * gdb.trace/disconnected-tracing.c: New file. * gdb.trace/disconnected-tracing.exp: New file. --------------060601060403090108050901 Content-Type: text/plain; charset="us-ascii"; name="disconnected-tracing.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="disconnected-tracing.txt" Content-length: 3932 --- testsuite/gdb.trace/Makefile.in | 2 testsuite/gdb.trace/disconnected-tracing.c | 22 +++++++ testsuite/gdb.trace/disconnected-tracing.exp | 76 +++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-) --- a/testsuite/gdb.trace/Makefile.in +++ b/testsuite/gdb.trace/Makefile.in @@ -5,7 +5,7 @@ srcdir = @srcdir@ PROGS = ax backtrace deltrace infotrace packetlen passc-dyn passcount \ report save-trace tfile tfind tracecmd tsv unavailable while-dyn \ - while-stepping + while-stepping disconnected-tracing all info install-info dvi install uninstall installcheck check: @echo "Nothing to be done for $@..." --- /dev/null +++ b/testsuite/gdb.trace/disconnected-tracing.c @@ -0,0 +1,22 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2012 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +int +main() +{ + return 0; +} \ No newline at end of file --- /dev/null +++ b/testsuite/gdb.trace/disconnected-tracing.exp @@ -0,0 +1,76 @@ +# Copyright 2012 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Test of disconnected-tracing. + +load_lib "trace-support.exp"; + +set testfile "disconnected-tracing" +set executable $testfile +set srcfile ${testfile}.c +set binfile $objdir/$subdir/$testfile +set expfile $testfile.exp +set gdbserver_reconnect_p 1 + +if { [info proc gdb_reconnect] == "" } { + unsupported "target does not support reconnect" + return -1 +} + +if [prepare_for_testing $expfile $executable $srcfile \ + {debug nowarnings}] { + untested "failed to prepare for trace tests" + return -1 +} + +if ![runto_main] { + fail "can't run to main to check for trace support" + return -1 +} + +if ![gdb_target_supports_trace] { + unsupported "target does not support trace" + return -1; +} + +delete_breakpoints +gdb_test_no_output "set confirm off" +gdb_test_no_output "set disconnected-tracing on" +gdb_test "trace main" ".*" +gdb_test_no_output "tstart" + +gdb_test "info tracepoints" ".*in main at.*" "First info tracepoints" + +gdb_test "disconnect" "Ending remote debugging\\." +if { [gdb_reconnect] == 0 } { + pass "reconnect after unload" +} else { + fail "reconnect after unload" + return 0 +} +gdb_test "info tracepoints" ".*in main at.*" "Second info tracepoints" + +delete_breakpoints +gdb_test "info tracepoints" ".*No tracepoints..*" "Third info tracepoints" + +gdb_test "disconnect" "Ending remote debugging\\." +if { [gdb_reconnect] == 0 } { + pass "reconnect after unload" +} else { + fail "reconnect after unload" + return 0 +} +gdb_test "info tracepoints" ".*in main at.*" "Fourth info tracepoints" + --------------060601060403090108050901--