From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30608 invoked by alias); 24 Feb 2011 05:11:26 -0000 Received: (qmail 30598 invoked by uid 22791); 24 Feb 2011 05:11:24 -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; Thu, 24 Feb 2011 05:11:15 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p1O5BEaU024975 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 24 Feb 2011 00:11:14 -0500 Received: from host1.dyn.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p1O5B8RZ014822 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 24 Feb 2011 00:11:11 -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 p1O5B4WD009524 for ; Thu, 24 Feb 2011 06:11:04 +0100 Received: (from jkratoch@localhost) by host1.dyn.jankratochvil.net (8.14.4/8.14.4/Submit) id p1O5AwEL009432 for gdb-patches@sourceware.org; Thu, 24 Feb 2011 06:10:59 +0100 Date: Thu, 24 Feb 2011 05:14:00 -0000 From: Jan Kratochvil To: gdb-patches@sourceware.org Subject: [patch 1/3] Code cleanup: gdb.threads/gcore-thread.exp Message-ID: <20110224051054.GA17373@host1.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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/msg00674.txt.bz2 Hi, proc load_core is later used by patch 2/3. I will check it in when the other two patches are considered ready. No regressions on {x86_64,x86_64-m32,i686}-fedora15-linux-gnu. Thanks, Jan gdb/testsuite/ 2011-02-24 Jan Kratochvil * gdb.threads/gcore-thread.exp ($testfile): Match it the .exp filename. ($srcfile): Preserve the original value. ($testfile): Match it the .exp filename. ($corefile): New variable. Substitute it around. Use clean_restart. Substitute (load_core): Move core loading into this proc. Fix restore of $timeout if load_core fails. --- a/gdb/testsuite/gdb.threads/gcore-thread.exp +++ b/gdb/testsuite/gdb.threads/gcore-thread.exp @@ -21,11 +21,11 @@ if $tracelevel then { strace $tracelevel } - # Single-threaded test case -set testfile "pthreads" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/gcore-${testfile} +set testfile "gcore-thread" +set srcfile pthreads.c +set binfile ${objdir}/${subdir}/${testfile} +set corefile ${objdir}/${subdir}/${testfile}.test if [istarget "*-*-linux"] then { set target_cflags "-D_MIT_POSIX_THREADS" @@ -41,10 +41,7 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab # Start with a fresh gdb. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${testfile} # regexp for "horizontal" text (i.e. doesn't include newline or # carriage return) @@ -92,10 +89,9 @@ delete_breakpoints gdb_breakpoint "thread2" gdb_test "continue" "Continuing.*Breakpoint.* thread2 .*" "thread 2 is running" -set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore.test] +set escapedfilename [string_to_regexp $corefile] # Drop corefile -gdb_test_multiple "gcore ${objdir}/${subdir}/gcore.test" \ - "save a corefile" \ +gdb_test_multiple "gcore $corefile" "save a corefile" \ { -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" { pass "save a corefile" @@ -114,31 +110,39 @@ if {!$core_supported} { return -1 } + # Now restart gdb and load the corefile. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test_multiple "core ${objdir}/${subdir}/gcore.test" \ - "re-load generated corefile" { - -re ".* is not a core dump:.*$gdb_prompt $" { - fail "re-load generated corefile (bad file format)" - # No use proceeding from here. - return; - } - -re ".*: No such file or directory.*$gdb_prompt $" { - fail "re-load generated corefile (file not found)" - # No use proceeding from here. - return; - } - -re ".*Couldn't find .* registers in core file.*$gdb_prompt $" { - fail "re-load generated corefile (incomplete note section)" - } - -re "Core was generated by .*$gdb_prompt $" { - pass "re-load generated corefile" +clean_restart ${testfile} + +proc load_core { corefile } { + global gdb_prompt + + gdb_test_multiple "core $corefile" \ + "re-load generated corefile" { + -re " is not a core dump:.*\r\n$gdb_prompt $" { + fail "re-load generated corefile (bad file format)" + # No use proceeding from here. + return 0; + } + -re ": No such file or directory.*\r\n$gdb_prompt $" { + fail "re-load generated corefile (file not found)" + # No use proceeding from here. + return 0; + } + -re "Couldn't find .* registers in core file.*\r\n$gdb_prompt $" { + fail "re-load generated corefile (incomplete note section)" + } + -re "Core was generated by .*\r\n$gdb_prompt $" { + pass "re-load generated corefile" + } } - } + return 1 +} + +if ![load_core $corefile] { + set timeout $prev_timeout + return +} # FIXME: now what can we test about the thread state? # We do not know for certain that there should be at least