OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gdb/] [testsuite/] [TODO] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
The highest priority item is not on this list: Fix bugs in the
2
existing testsuite, fix the GDB/compiler/shell/etc bugs which it
3
detects (particularly when they are hard to XFAIL), make it run
4
reliably without unexpected failures on the "standard" machines, etc.
5
This list exists largely as "tests we can add when we are ready to
6
risk destabilizing it again".
7
 
8
There are some tests which are only run on some platforms because they
9
have not been tested on more platforms.  Enable them and fix any
10
problems.  A partial list: recurse.exp, watchpoint.exp
11
(test_watchpoint_triggered_in_syscall, test_complex_watchpoint).
12
 
13
Test printing of structures passed by value, for the 7th, 8th, and 9th
14
arguments (PR 1714).  Test printing structure arguments of
15
2,4,6,8,12,16,and 20 bytes.  Same for structure return of all those
16
sizes ("return", "finish", and call function).
17
 
18
Get crossload tests to use --enable-targets and reenable them.
19
 
20
corefile.exp:
21
Test ability to run program when there is a core target, then go
22
back to the core file when the program exits.
23
 
24
Test handling of floating point variables
25
1.  float, double, or long double
26
2.  in register or saved register or memory.  Also the case where a
27
double is in two float registers and only one of them is saved.
28
3.  print them or set them
29
4.  (Alpha) integer (32 or 64 bit) in floating point register.
30
 
31
Print registers--"p $r5", "p sizeof ($r5)".  Test that they print
32
appropriately (integer registers in decimal, registers which always
33
contain addresses (pc, probably sp and fp, maybe others) in hex,
34
floating point).
35
 
36
Test completer.  Test that it completes a variety of things correctly
37
(see the list of test cases in main.c in the gdb source).  Test TAB,
38
M-?, and the "complete" command.
39
 
40
Test "info line" with all kinds of linespecs.  Test that the last line
41
of the file works right.
42
 
43
weird.exp--test that unrecognized cross-reference types or
44
unrecognized visibility or virtual characters get skipped properly
45
(see stabs.texinfo).
46
 
47
Test C++ nested types (especially if PR 1954 is fixed; even if not
48
*some* things already should work even in the presence of nested
49
types).  Test classes nested more than 9 levels deep (g++ mangles
50
these differently) (both a demangle test and some tests which also
51
test the compiler).  Test calling a method of a class nested more than
52
9 levels (for gdb_mangle_name and demangling).
53
 
54
Test static member functions (C++).  Test that "ptype" shows them
55
correctly, both before and after they have been converted from stub
56
methods.  Test that we can call them.
57
 
58
Test printing complicated types, including functions, pointers to
59
arrays of pointers of functions, functions which return pointers to
60
functions, etc.
61
 
62
printcmd.exp--test printing enum values.  Test printing an enum
63
variable whose value is out of range.  Test "p (int)enum_var", "p/x
64
enum_var".  Test that in something like "enum {FOO, LAST_THING=FOO}"
65
we print FOO, not LAST_THING.
66
 
67
Test GDB expressions--test all operators (and overloaded operators for
68
C++).  Test integer constants which are signed or unsigned int, long,
69
or long long.  Test detection of overflow of an integer constant.
70
Here are a few integer constants to test (test they get the right
71
types): 5, 5LL, 5LuL, 5L6u (invalid), 5LU.  Maybe things like
72
0x12345678, 0x87654321, etc., but their types depend on sizes of int,
73
long, etc.
74
 
75
Test that printing const-qualified versions of various types works.
76
In particular, on the sparc and probably other machines, "double" is
77
handled differently from most types because it requires more alignment
78
and thus goes in a different section (there is a gcc 2.4.5 bug with
79
"const double" on sparc).
80
 
81
Test that GDB's "source" command works and that things work if stdin
82
is redirected (to a file or a pipe).  Test user defined command.  Run
83
an inferior each of these ways (to test that inflow.c works).  Test
84
that GDB works if the last line of stdin or a source'd file lacks a
85
newline.
86
 
87
Test that unmatched single quotes produce error messages, both in
88
expressions and linespecs.
89
 
90
Test "cd".  "foo/bar/.." should get simplified to "foo".  "/../.."
91
should not get simplified (for Mach).  "/.." should not get simplified
92
(for other networked OSes; POSIX.1 section B.2.3.7).  All these
93
examples should continue to work with trailing slashes.
94
 
95
Test scoping; here is a start
96
 1      int i=2;
97
 2      int j=3;
98
 3      main()
99
 4      {
100
 5          int i;
101
 6          for (i=600; i>0; i--)
102
 7              print_line(i);
103
 8      }
104
 9
105
10      print_line(i)
106
11          int i;
107
12      {
108
13          h();
109
14          printf("%d\n",i);
110
15      }
111
16
112
17      h()
113
18      {
114
19          printf("In h...");
115
20      }
116
Set a breakpoint in h, and print i, print_line::i, and main::i.  Set a
117
breakpoint in main (or don't run the program), and test that
118
print_line::i is an error.  But if i were static, "p main::i" should
119
work even if the program is not being run.
120
 
121
Write a test for the reentracy bug with rs6000_struct_return_address
122
in rs6000-tdep.c.
123
 
124
Test "return" from dummy frames.  Test "return" from non-innermost
125
frame.  Test that "return" from a non-innermost frame restores
126
registers which are saved not in that frame but in a frame more inner
127
(I believe this currently works on few if any architectures).
128
 
129
FORTRAN common blocks (a.out and xcoff--weird.exp has the start of
130
one but it is not quite right as of 19 Nov 1993).
131
 
132
Test that "x" command sets $_ and $__.  Test $_ in general.
133
 
134
Test that "p/a" works when given addresses in text, data, and bss
135
segments.  Test that it works if program is compiled with or without
136
-g.  Test that it works if preceding symbol is static or if it is
137
extern.
138
 
139
Given `char abc[] = "abc\0def";' test "x/s abc" followed by "x/s"
140
(should display "abc" followed by "def").  Test this works with no
141
error message even if this is the last thing in the section (tests
142
that val_print_string ignores an error if the error occurs after the
143
'\0').
144
 
145
Test ability to process NMAGIC a.out files.
146
 
147
Test shared libraries:  "next" over printf, "step" into a function in
148
a shared library which has line number info, breakpoint in a function
149
in a shared library (either before or after the program is run and the
150
shared libraries are loaded--also maybe write a test where the PLT
151
will be in an unloaded state even though the shared library is loaded).
152
 
153
If there are two breakpoints in the same place, and exactly one of
154
them has its condition true, test that the correct breakpoint gets
155
printed.
156
 
157
Test "jump" including jump to a breakpoint (the latter will need an
158
xfail for UDI and probably VxWorks (PR 1786 for vxworks; PR 2416
159
contains some info for 29k).
160
 
161
Set a watchpoint on a local variable (to be interesting, make a few
162
calls, to be more interesting, make a recursive call).  Test that it
163
gets disabled when leaving that scope.
164
 
165
Test calling a function, hitting a breakpoint in the called function,
166
calling another function, and hitting a breakpoint.  Test backtrace
167
works in the presence of multiple dummy frames.  Test that "continue"
168
will get you out of the inner called function, and "continue" again
169
will get you back to where you were when you called the first one.
170
 
171
Test special longjmp handling in wait_for_inferior (need to figure out
172
in detail what the proper behavior in each case is).  Test longjmp to
173
a place where there is a breakpoint (such that
174
BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE happens).  In general, test
175
interactions between longjmp and watchpoints, breakpoints, stepping,
176
call function, etc.
177
 
178
Test jumping right past a breakpoint (the case where wait_for_inferior
179
passes not_a_breakpoint to bpstat_stop_status).  Might already be
180
tested by some of the sun3 tests.  Probably want a .s test to avoid
181
compiler dependencies.
182
 
183
Test more obscure wait_for_inferior cases, expanding on the tests in
184
watchpoint.exp, signals.exp, etc.
185
 
186
Test stepping into functions which are one line long and functions
187
which are on line 1 of the source file. (there is a class of bugs in
188
which gdb doesn't find the line number information, and thus doesn't
189
step into the function).
190
 
191
Test that prologue recognition, backtrace, printing locals, etc.,
192
still work in the presence of large frames (the point being that at
193
some point immediate fields in RISC instructions will overflow and
194
prologues will need to look different.  For sparc, the immediate field
195
is 13 bits (signed), so I believe the threshold would be 4K bytes in a
196
frame).
197
 
198
 
199
(this is for editing this file with GNU emacs)
200
Local Variables:
201
mode: text
202
End:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.