forked from Imagelibrary/binutils-gdb
import gdb-1999-11-01 snapshot
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
1999-11-01 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
From Jimmy Guo <guo@cup.hp.com>:
|
||||
* gdb.base/annota1.exp: Add tests for annotate ignore count change.
|
||||
* gdb.base/annota1.c: Add code for tests to work with.
|
||||
|
||||
1999-10-26 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
* gdb.base/remote.exp: New test for remote downloading settings.
|
||||
* gdb.base/remote.c: New file with large .data.
|
||||
|
||||
1999-10-18 Jim Blandy <jimb@zwingli.cygnus.com>
|
||||
|
||||
* gdb.threads/linux-dp.c, gdb.threads/linux-dp.exp: New test suite
|
||||
|
||||
@@ -39,6 +39,12 @@ main ()
|
||||
|
||||
printf ("value is %d\n", value);
|
||||
printf ("my_array[2] is %d\n", my_array[2]);
|
||||
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 5; i++)
|
||||
value++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -359,6 +359,54 @@ gdb_expect {
|
||||
timeout { fail "re-run (timeout)" }
|
||||
}
|
||||
|
||||
#
|
||||
# Test that breakpoints-invalid is issued once and only once for
|
||||
# breakpoint ignore count changes, after annotation stopped.
|
||||
#
|
||||
send_gdb "break 46\n"
|
||||
gdb_expect {
|
||||
-re "Breakpoint 5 at $hex: file .*$srcfile, line 46.*$gdb_prompt$" {
|
||||
pass "break at 46"
|
||||
}
|
||||
-re ".*$gdb_prompt$" { fail "break at 46" }
|
||||
timeout { fail "break at 46 (timeout)" }
|
||||
}
|
||||
|
||||
send_gdb "ignore 5 4\n"
|
||||
gdb_expect {
|
||||
-re "Will ignore next 4 crossings of breakpoint 5.*$gdb_prompt$" {
|
||||
pass "ignore 5 4"
|
||||
}
|
||||
-re ".*$gdb_prompt$" { fail "ignore 5 4" }
|
||||
timeout { fail "ignore 5 4 (timeout)" }
|
||||
}
|
||||
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
-re ".*$srcfile:46:.*\032\032stopped\r\n\r\n\032\032breakpoints-invalid\r\n$gdb_prompt$" {
|
||||
pass "annotate ignore count change"
|
||||
}
|
||||
-re ".*$gdb_prompt$" { fail "annotate ignore count change" }
|
||||
timeout { fail "annotate ignore count change (timeout)" }
|
||||
}
|
||||
|
||||
# check that ignore command is working, or the above can provide
|
||||
# misleading assurance ...
|
||||
|
||||
send_gdb "next\n"
|
||||
gdb_expect {
|
||||
-re "$gdb_prompt$" {}
|
||||
timeout { fail "next to exit loop" }
|
||||
}
|
||||
|
||||
send_gdb "next\n"
|
||||
gdb_expect {
|
||||
-re ".*$srcfile:49:.*$gdb_prompt$" {
|
||||
pass "breakpoint ignore count"
|
||||
}
|
||||
-re ".*$gdb_prompt$" { fail "breakpoint ignore count" }
|
||||
timeout { fail "breakpoint ignore count (timeout)" }
|
||||
}
|
||||
|
||||
#
|
||||
# Send a signal that is not handled; test:
|
||||
|
||||
26
gdb/testsuite/gdb.base/remote.c
Normal file
26
gdb/testsuite/gdb.base/remote.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/**************************************************************************
|
||||
* TESTS :
|
||||
* -- downloading of a rather large executable
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
/* A large array in .data. If RLE compression becomes available during
|
||||
downloads, this would have to become a bunch of real random data.
|
||||
Here's a quick way of generating such a bunch:
|
||||
|
||||
yes | awk '{printf ("%4d,", rand()*1000);}' | fold -w80 -s | head -4096
|
||||
|
||||
*/
|
||||
|
||||
unsigned long random_data[65536] = { 1 };
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
printf ("%lu\n", random_data [rand() %
|
||||
(sizeof (random_data) /
|
||||
sizeof (random_data [0]))]);
|
||||
}
|
||||
83
gdb/testsuite/gdb.base/remote.exp
Normal file
83
gdb/testsuite/gdb.base/remote.exp
Normal file
@@ -0,0 +1,83 @@
|
||||
# Copyright (C) 1999 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.
|
||||
|
||||
# Please email any bugs, comments, and/or additions to this file to:
|
||||
# bug-gdb@prep.ai.mit.edu
|
||||
|
||||
if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
set prms_id 0
|
||||
set bug_id 0
|
||||
|
||||
|
||||
# test only on a remote target board
|
||||
if {! [is_remote target]} {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
set testfile "remote"
|
||||
set srcfile ${testfile}.c
|
||||
set binfile ${objdir}/${subdir}/${testfile}
|
||||
|
||||
|
||||
proc gdb_load_timed {executable writesize} {
|
||||
global test gdb_prompt
|
||||
set test "timed download `[file tail $executable]' ($writesize)"
|
||||
|
||||
if {$writesize != ""} then {
|
||||
send_gdb "set remotewritesize $writesize\n"
|
||||
gdb_expect 5 {
|
||||
-re ".*$gdb_prompt $" { }
|
||||
timeout { fail "$test - setting remotewritesize" ; return }
|
||||
}
|
||||
}
|
||||
|
||||
set load_begin_time [clock clicks]
|
||||
set result [gdb_load $executable]
|
||||
set load_end_time [clock clicks]
|
||||
if {$result < 0} then { fail "$test - loading executable"; return }
|
||||
verbose "$test - time [expr ($load_end_time - $load_begin_time) / 1000] ms"
|
||||
pass $test
|
||||
}
|
||||
|
||||
|
||||
|
||||
# tests
|
||||
|
||||
gdb_start
|
||||
|
||||
set result [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}]
|
||||
if {$result != "" } then {
|
||||
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
|
||||
}
|
||||
|
||||
gdb_load_timed $binfile {}
|
||||
gdb_load_timed $binfile 50
|
||||
gdb_load_timed $binfile 100
|
||||
gdb_load_timed $binfile 200
|
||||
gdb_load_timed $binfile 400
|
||||
|
||||
# extra tests for capable targets
|
||||
if {[target_info gdb,big_rx_buffers] != ""} then {
|
||||
gdb_load_timed $binfile 800
|
||||
gdb_load_timed $binfile 8000
|
||||
gdb_load_timed $binfile 80000
|
||||
}
|
||||
|
||||
gdb_exit
|
||||
Reference in New Issue
Block a user