From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20644 invoked by alias); 16 Feb 2011 11:12:16 -0000 Received: (qmail 20631 invoked by uid 22791); 16 Feb 2011 11:12:10 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 16 Feb 2011 11:11:07 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p1GBAv1G021329 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 16 Feb 2011 06:10:57 -0500 Received: from host1.dyn.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p1GBAtAD029548 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 16 Feb 2011 06:10:57 -0500 Received: from host1.dyn.jankratochvil.net (localhost [127.0.0.1]) by host1.dyn.jankratochvil.net (8.14.4/8.14.4) with ESMTP id p1GBAt5k017055; Wed, 16 Feb 2011 12:10:55 +0100 Received: (from jkratoch@localhost) by host1.dyn.jankratochvil.net (8.14.4/8.14.4/Submit) id p1GBAsSR017038; Wed, 16 Feb 2011 12:10:54 +0100 Date: Wed, 16 Feb 2011 11:48:00 -0000 From: Jan Kratochvil To: sami wagiaalla Cc: Pedro Alves , gdb-patches@sourceware.org, Tom Tromey Subject: Re: [patch] Support inferior events in python Message-ID: <20110216111054.GA3594@host1.dyn.jankratochvil.net> References: <20110209163022.GA16069@host1.dyn.jankratochvil.net> <4D55559B.1090004@redhat.com> <201102111556.42026.pedro@codesourcery.com> <4D59662D.30101@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D59662D.30101@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) 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: 2011-02/txt/msg00362.txt.bz2 On Mon, 14 Feb 2011 18:28:13 +0100, sami wagiaalla wrote: > --- /dev/null > +++ b/gdb/testsuite/gdb.python/py-evsignal.exp > @@ -0,0 +1,49 @@ > +# Copyright (C) 2010, 2011 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 . > + > +if $tracelevel then { > + strace $tracelevel > +} > + > +load_lib gdb-python.exp > + > +set testfile "py-evthreads" > +set srcfile ${testfile}.c > +set binfile ${objdir}/${subdir}/${testfile} While $srcfile is OK please use "py-evsignal" as the $binfile. > +set pyfile ${srcdir}/${subdir}/py-events.py > + > +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { > + return -1 > +} > +clean_restart $testfile > + > +if { [skip_python_tests] } { continue } > + > +gdb_test_no_output "python execfile ('${pyfile}')" "" > + > +gdb_test "Test_Events" "Event testers registered." > +gdb_test_no_output "set non-stop on" > +gdb_test_no_output "set target-async on" > + > +gdb_breakpoint [gdb_get_line_number "end of main"] > + > +gdb_test_multiple "run" "Signal Thread 3" { This will ignore gdbserver if you run it with: http://sourceware.org/gdb/wiki/TestingGDB#Testing_gdbserver_in_a_native_configuration Although with runto_main and gdb_test_multiple "continue" the python support will FAIL: RuntimeError: Could not find event thread > + -re ".*stop reason: signal.*stop signal: SIGSEGV.*thread num: 3.*" { > + pass "thread 3 was signaled" > + } > + -re "The target does not support running in non-stop mode" { > + unsupported "non-stop mode is unsupported" > + } > +} I believe here could be `\r\n$gdb_prompt $' at the end as "run" (nor "continue") are executed with trailing `&'. But that is not a real problem. > diff --git a/gdb/testsuite/gdb.python/py-evthreads.c b/gdb/testsuite/gdb.python/py-evthreads.c > index 1464ce6..55414ed 100644 > --- a/gdb/testsuite/gdb.python/py-evthreads.c > +++ b/gdb/testsuite/gdb.python/py-evthreads.c > @@ -28,7 +28,7 @@ void* thread3 (void* d) > int count3 = 0; > count3++; > > - int *bad; > + int *bad = NULL; > *bad = 1; This is needlessly fragile - for example on targets where NULL is writable. What about some: raise (SIGUSR1); > @@ -44,76 +41,38 @@ gdb_breakpoint "main" > gdb_breakpoint "thread2" > gdb_breakpoint "thread3" > > -send_gdb "run\n" > -gdb_expect { > - -re "event type: stop.* > -.*stop reason: breakpoint.* > -.*breakpoint number: 1.* > -.*thread num: 1.*" { > +gdb_test_multiple "run" "Run to breakpoint 1" { Again gdbserver incompatible. Thanks, Jan