From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8066 invoked by alias); 4 May 2005 14:27:44 -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 5633 invoked from network); 4 May 2005 14:26:29 -0000 Received: from unknown (HELO e31.co.us.ibm.com) (32.97.110.129) by sourceware.org with SMTP; 4 May 2005 14:26:29 -0000 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e31.co.us.ibm.com (8.12.10/8.12.9) with ESMTP id j44EQSua016076 for ; Wed, 4 May 2005 10:26:28 -0400 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id j44EQNmf336760 for ; Wed, 4 May 2005 08:26:28 -0600 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.12.11/8.13.3) with ESMTP id j44EQM6H017339 for ; Wed, 4 May 2005 08:26:22 -0600 Received: from austin.ibm.com (netmail2.austin.ibm.com [9.41.248.176]) by d03av02.boulder.ibm.com (8.12.11/8.12.11) with ESMTP id j44EQMVo017317 for ; Wed, 4 May 2005 08:26:22 -0600 Received: from lazy.austin.ibm.com (lazy.austin.ibm.com [9.53.94.97]) by austin.ibm.com (8.12.10/8.12.10) with ESMTP id j44EQMVi064948 for ; Wed, 4 May 2005 09:26:22 -0500 Date: Wed, 04 May 2005 14:27:00 -0000 From: Manoj Iyer X-X-Sender: manjo@lazy To: gdb-patches@sources.redhat.com Subject: [RFC] new GDB server testcase Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-1776818690-1115216660=:30511" X-SW-Source: 2005-05/txt/msg00114.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --8323328-1776818690-1115216660=:30511 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-length: 3451 I wrote a testcase for testing basic gdbserver functionality over TCP connection. I will add more cases like step, print, etc once the testcase is approved. ======================================================================== 2005-05-04 Manoj Iyer * gdb.server/basictest.c: New testcase * gdb.server/basictest.exp: New testcase ============= basictest.c ========================= /* File: test basic remote debug functionality through TCP connection. */ /* Author: Manoj Iyer */ #include #include static void function3() { printf("In function 3\n"); exit(0); } static void function2() { function3(); } static void function1() { function2(); } main() { printf("hello gdb\n"); function1(); } ====================================================================== ======================= basictest.exp =============================== # This testcase is part of GDB, the GNU debugger. # Copyright 2005 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. # Test the remote TCP debug functionality of GDB. # Author: Manoj Iyer load_lib gdbserver-support.exp set testfile "basictest" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." } gdb_exit global gdbport set ret [gdbserver_spawn $binfile ""] set gdbport [lindex $ret 1] gdb_start send_gdb "file $binfile \n " gdb_target_cmd "remote" $gdbport send_gdb "list \n" gdb_expect { -re ".*function1.*main.*\{.*printf.*$gdb_prompt $" { pass "list commands can display source code" } timeout { fail "list command failed to display source code" } } gdb_test "br main" "Breakpoint 1.*at.* file .*$srcfile, line \[0-9\]+.*" gdb_test "continue" ".*Continuing\\..*Breakpoint \[0-9\]+, main.*at .*$srcfile:\[0-9\].*" gdb_test "br function3" "Breakpoint 2.*at.* file .*$srcfile, line \[0-9\]+.*" gdb_test "continue" ".*Continuing\\..*Breakpoint \[0-9\]+, function3.*at .*$srcfile:\[0-9\].*" send_gdb "backtrace\n" gdb_expect_list "backtrace" ".*$gdb_prompt $" { "#0.*function3.*at .*basictest.c:\[0-9\]+" "#1.*function2.*at .*basictest.c:\[0-9\]+" "#2.*function1.*at .*basictest.c:\[0-9\]+" "#3.*main.*at .*basictest.c:\[0-9\]+" } ============================ basictest.exp ==================== ----- manjo +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Cogito ergo sum + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --8323328-1776818690-1115216660=:30511 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="basictest.exp" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: expect script (new testcase) Content-Disposition: attachment; filename="basictest.exp" Content-length: 3091 IyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVn Z2VyLg0KDQojIENvcHlyaWdodCAyMDA1IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLg0KDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y DQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQoj IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuDQojDQojIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl DQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv IHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3 LCBVU0EuDQoNCiMgVGVzdCB0aGUgcmVtb3RlIFRDUCBkZWJ1ZyBmdW5jdGlv bmFsaXR5IG9mIEdEQi4NCiMgQXV0aG9yOiBNYW5vaiBJeWVyIDxtYW5qb0Bh dXN0aW4uaWJtLmNvbT4NCg0KbG9hZF9saWIgZ2Ric2VydmVyLXN1cHBvcnQu ZXhwDQoNCnNldCB0ZXN0ZmlsZSAiYmFzaWN0ZXN0Ig0Kc2V0IHNyY2ZpbGUg JHt0ZXN0ZmlsZX0uYw0Kc2V0IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGly fS8ke3Rlc3RmaWxlfQ0KDQppZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGly fS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFi bGUge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LXd9XSAhPSAiIiB9IHsNCiAg ICBnZGJfc3VwcHJlc3NfZW50aXJlX2ZpbGUgIlRlc3RjYXNlIGNvbXBpbGUg ZmFpbGVkLCBzbyBhbGwgdGVzdHMgaW4gdGhpcyBmaWxlIHdpbGwgYXV0b21h dGljYWxseSBmYWlsLiINCn0NCg0KZ2RiX2V4aXQNCmdsb2JhbCBnZGJwb3J0 DQoNCnNldCByZXQgW2dkYnNlcnZlcl9zcGF3biAkYmluZmlsZSAiIl0NCnNl dCBnZGJwb3J0IFtsaW5kZXggJHJldCAxXQ0KDQpnZGJfc3RhcnQNCg0Kc2Vu ZF9nZGIgImZpbGUgJGJpbmZpbGUgXG4gIg0KDQpnZGJfdGFyZ2V0X2NtZCAi cmVtb3RlIiAkZ2RicG9ydA0KDQpzZW5kX2dkYiAibGlzdCBcbiINCmdkYl9l eHBlY3Qgew0KCS1yZSAiLipmdW5jdGlvbjEuKm1haW4uKlx7LipwcmludGYu KiRnZGJfcHJvbXB0ICQiIHsNCglwYXNzICJsaXN0IGNvbW1hbmRzIGNhbiBk aXNwbGF5IHNvdXJjZSBjb2RlIiB9DQoJdGltZW91dCB7IGZhaWwgImxpc3Qg Y29tbWFuZCBmYWlsZWQgdG8gZGlzcGxheSBzb3VyY2UgY29kZSIgfQ0KfQ0K DQpnZGJfdGVzdCAiYnIgbWFpbiIgIkJyZWFrcG9pbnQgMS4qYXQuKiBmaWxl IC4qJHNyY2ZpbGUsIGxpbmUgXFswLTlcXSsuKiINCg0KZ2RiX3Rlc3QgImNv bnRpbnVlIiAiLipDb250aW51aW5nXFwuLipCcmVha3BvaW50IFxbMC05XF0r LCBtYWluLiphdCAuKiRzcmNmaWxlOlxbMC05XF0uKiINCg0KZ2RiX3Rlc3Qg ImJyIGZ1bmN0aW9uMyIgIkJyZWFrcG9pbnQgMi4qYXQuKiBmaWxlIC4qJHNy Y2ZpbGUsIGxpbmUgXFswLTlcXSsuKiINCg0KZ2RiX3Rlc3QgImNvbnRpbnVl IiAiLipDb250aW51aW5nXFwuLipCcmVha3BvaW50IFxbMC05XF0rLCBmdW5j dGlvbjMuKmF0IC4qJHNyY2ZpbGU6XFswLTlcXS4qIg0KDQpzZW5kX2dkYiAi YmFja3RyYWNlXG4iDQpnZGJfZXhwZWN0X2xpc3QgImJhY2t0cmFjZSIgIi4q JGdkYl9wcm9tcHQgJCIgew0KICAgICIjMC4qZnVuY3Rpb24zLiphdCAuKmJh c2ljdGVzdC5jOlxbMC05XF0rIg0KICAgICIjMS4qZnVuY3Rpb24yLiphdCAu KmJhc2ljdGVzdC5jOlxbMC05XF0rIg0KICAgICIjMi4qZnVuY3Rpb24xLiph dCAuKmJhc2ljdGVzdC5jOlxbMC05XF0rIg0KICAgICIjMy4qbWFpbi4qYXQg LipiYXNpY3Rlc3QuYzpcWzAtOVxdKyINCn0NCg== --8323328-1776818690-1115216660=:30511 Content-Type: TEXT/x-csrc; charset=US-ASCII; name="basictest.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: C source code (New testcase) Content-Disposition: attachment; filename="basictest.c" Content-length: 610 LyogRmlsZTogdGVzdCBiYXNpYyByZW1vdGUgZGVidWcgZnVuY3Rpb25hbGl0 eSB0aHJvdWdoIFRDUCBjb25uZWN0aW9uLiAgICAgICAqLw0KLyogQXV0aG9y OiBNYW5vaiBJeWVyIDxtYW5qb0BhdXN0aW4uaWJtLmNvbT4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqLw0KDQojaW5jbHVkZSA8c3RkaW8u aD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCg0KDQpzdGF0aWMgdm9pZCANCmZ1 bmN0aW9uMygpDQp7DQoJcHJpbnRmKCJJbiBmdW5jdGlvbiAzXG4iKTsNCgll eGl0KDApOw0KfQ0KDQoNCnN0YXRpYyB2b2lkIA0KZnVuY3Rpb24yKCkNCnsN CglmdW5jdGlvbjMoKTsNCn0NCg0KDQpzdGF0aWMgdm9pZCANCmZ1bmN0aW9u MSgpDQp7DQoJZnVuY3Rpb24yKCk7DQp9DQoNCm1haW4oKQ0Kew0KICAgIHBy aW50ZigiaGVsbG8gZ2RiXG4iKTsNCiAgICBmdW5jdGlvbjEoKTsNCn0NCg== --8323328-1776818690-1115216660=:30511--