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