From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11403 invoked by alias); 24 Nov 2003 03:18:05 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11396 invoked from network); 24 Nov 2003 03:18:05 -0000 Received: from unknown (HELO external2.doc.com) (199.72.38.17) by sources.redhat.com with SMTP; 24 Nov 2003 03:18:05 -0000 Received: (qmail 4742 invoked from network); 24 Nov 2003 03:18:04 -0000 Received: from cpe-24-221-209-215.co.sprintbbd.net (HELO ?192.168.1.103?) (24.221.209.215) by external2.doc.com with SMTP; 24 Nov 2003 03:18:04 -0000 Subject: [RFA]: Test for PR/1236 From: Adam Fedor To: "gdb-patches@sources.redhat.com" Content-Type: multipart/mixed; boundary="=-99kxHb52JPV/s4jst+HJ" Organization: Message-Id: <1069643885.20972.18.camel@localhost.localdomain> Mime-Version: 1.0 Date: Mon, 24 Nov 2003 03:18:00 -0000 X-SW-Source: 2003-11/txt/msg00510.txt.bz2 --=-99kxHb52JPV/s4jst+HJ Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 29 This test currently fails. --=-99kxHb52JPV/s4jst+HJ Content-Disposition: attachment; filename=nondebug_test.patch Content-Type: text/plain; name=nondebug_test.patch; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 3329 2003-11-14 Adam Fedor * gdb.objc/nondebug.exp: New test for PR objc/1236 * gdb.objc/nondebug.m: New test program Index: testsuite/gdb.objc/nondebug.exp =================================================================== RCS file: testsuite/gdb.objc/nondebug.exp diff -N testsuite/gdb.objc/nondebug.exp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ testsuite/gdb.objc/nondebug.exp 14 Nov 2003 03:46:27 -0000 @@ -0,0 +1,74 @@ +# Copyright 2003 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 2 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# This file tests decoding non-debuggable Objective-C symbols + +# This file was written by Adam Fedor (fedor@gnu.org) + +if $tracelevel then { + strace $tracelevel +} + +set testfile "nondebug" +set srcfile ${testfile}.m +set binfile ${objdir}/${subdir}/${testfile} + +# +# Objective-C program compilation isn't standard. We need to figure out +# which libraries to link in. Most of the time it uses pthread +# +if {[gdb_compile_objc "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list ] ] != "" } { + return -1 +} + +proc do_objc_tests {} { + global prms_id + global bug_id + global subdir + global objdir + global srcdir + global binfile + global gdb_prompt + + set prms_id 0 + set bug_id 0 + + # Start with a fresh gdb. + + gdb_exit + gdb_start + gdb_reinitialize_dir $srcdir/$subdir + gdb_load $binfile + +} + +do_objc_tests + +# +# Break on multiply defined method (PR objc/1236) +# +set name "break on non-debuggable method" +send_gdb "break someMethod\n" +gdb_expect { + -re "\\\[0\\\] cancel.*\\\[1\\\] all.*\\\[2\\\]\[ \]+-.NonDebug someMethod.*\\\[3\\\]\[ \]+-.NonDebug2 someMethod.*" { + send_gdb "2\n" + exp_continue + } + -re "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+.*" { pass $name } + -re ".*$gdb_prompt $" { fail $name } + timeout { fail "$name (timeout)" } +} + Index: testsuite/gdb.objc/nondebug.m =================================================================== RCS file: testsuite/gdb.objc/nondebug.m diff -N testsuite/gdb.objc/nondebug.m --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ testsuite/gdb.objc/nondebug.m 14 Nov 2003 03:46:27 -0000 @@ -0,0 +1,38 @@ +#include + +@interface NonDebug: Object +{ +} +@end +@interface NonDebug2: Object +{ +} +@end + +@implementation NonDebug + +- someMethod +{ + printf("method someMethod\n"); + return self; +} + +@end +@implementation NonDebug2 + +- someMethod +{ + printf("method2 someMethod\n"); + return self; +} + +@end + + +int main (int argc, const char *argv[]) +{ + id obj; + obj = [NonDebug new]; + [obj someMethod]; + return 0; +} --=-99kxHb52JPV/s4jst+HJ--