* TODO: Add suggestion about passing a structure as the 7th argument.
[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
8return.exp--reenable test (there is nothing known to be wrong with the
9test, but it hasn't been tried on a wide range of architectures).
10
11nodebug.exp--test printing variables.
12
24f81557
JK
13Test printing of structures passed by value, for the 7th, 8th, and
149th arguments (PR 1714).
15
3dcb8617
JK
16Get crossload tests to use --with-targets and reenable them.
17
18corefile.exp:
191. Print variables from the core file (data and stack), and text
20(from the exec file). This tests whether the corefile sections are
21mapped to the right addresses.
222. Test what happens when we get a new exec file without explicitly
23getting rid of the core file (we at least must avoid core dumps and such).
243. Test backtrace in corefile.exp.
254. Test ability to run program when there is a core target, then go
26back to the core file when the program exits.
27
28Test handling of floating point variables
291. float, double, or long double
302. in register or saved register or memory. Also the case where a
31double is in two float registers and only one of them is saved.
323. print them or set them
334. (Alpha) integer (32 or 64 bit) in floating point register.
34
35Print registers--"p $r5", "p sizeof ($r5)". Test that they print
36appropriately (integer registers in decimal, registers which always
37contain addresses (pc, probably sp and fp, maybe others) in hex,
38floating point).
39
40Test "info line" with all kinds of linespecs. Test that the last line
41of the file works right.
42
43weird.exp--test that unrecognized cross-reference types or
44unrecognized visibility or virtual characters get skipped properly
45(see stabs.texinfo).
46
47Test C++ nested types (especially if PR 1954 is fixed; even if not
48*some* things already should work even in the presence of nested
49types). Test classes nested more than 9 levels deep (g++ mangles
50these differently) (both a demangle test and some tests which also
51test the compiler). Test calling a method of a class nested more than
529 levels (for gdb_mangle_name and demangling).
53
24f81557
JK
54Test printing complex types, including functions, pointers to arrays
55of pointers of functions, functions which return pointers to
56functions, etc.
57
58Test GDB expressions--test all operators (and overloaded operators for
59C++). Test integer constants which are signed or unsigned int, long,
60or long long. Test detection of overflow of an integer constant.
61Here are a few integer constants to test (test they get the right
62types): 5, 5LL, 5LuL, 5L6u (invalid), 5LU. Maybe things like
630x12345678, 0x87654321, etc., but their types depend on sizes of int,
64long, etc.
65
3dcb8617
JK
66Test that printing const-qualified versions of various types works.
67In particular, on the sparc and probably other machines, "double" is
68handled differently from most types because it requires more alignment
69and thus goes in a different section (there is a gcc 2.4.5 bug with
70"const double" on sparc).
71
72Test that GDB's "source" command works and that things work if stdin
73is redirected (to a file or a pipe). Test user defined command. Run
74an inferior each of these ways (to test that inflow.c works). Test
75that GDB works if the last line of stdin or a source'd file lacks a
76newline.
77
78Test that module__2do (for example) in a C program does not get
79demangled.
80
81Test that unmatched single quotes produce error messages, both in
82expressions and linespecs.
83
84Test "cd". "foo/bar/.." should get simplified to "foo". "/../.."
85should not get simplified (for Mach). "/.." should not get simplified
86(for other networked OSes; POSIX.1 section B.2.3.7). All these
87examples should continue to work with trailing slashes.
88
89Test scoping; here is a start
90 1 int i=2;
91 2 int j=3;
92 3 main()
93 4 {
94 5 int i;
95 6 for (i=600; i>0; i--)
96 7 print_line(i);
97 8 }
98 9
9910 print_line(i)
10011 int i;
10112 {
10213 h();
10314 printf("%d\n",i);
10415 }
10516
10617 h()
10718 {
10819 printf("In h...");
10920 }
110Set a breakpoint in h, and print i, print_line::i, and main::i. Set a
111breakpoint in main (or don't run the program), and test that
112print_line::i is an error. But if i were static, "p main::i" should
113work even if the program is not being run.
114
115Write a test for the reentracy bug with rs6000_struct_return_address
116in rs6000-tdep.c.
117
118Test "return" from dummy frames.
119
120FORTRAN common blocks (a.out and xcoff--weird.exp has the start of
121one but it is not quite right as of 19 Nov 1993).
122
123Test that "x" command sets $_ and $__. Test $_ in general.
124
125Test ability to process NMAGIC a.out files.
126
127If there are two breakpoints in the same place, and exactly one of
128them has its condition true, test that the correct breakpoint gets
129printed.
130
24f81557
JK
131Test "jump" including jump to a breakpoint (the latter will need an
132xfail for UDI and probably VxWorks (PR 1786 for vxworks; PR 2416
133contains some info for 29k).
134
3dcb8617
JK
135Set a watchpoint on a local variable (to be interesting, make a few
136calls, to be more interesting, make a recursive call). Test that it
137gets disabled when leaving that scope.
138
139Test calling a function, hitting a breakpoint in the called function,
140calling another function, and hitting a breakpoint. Test backtrace
141works in the presence of multiple dummy frames. Test that "continue"
142will get you out of the inner called function, and "continue" again
143will get you back to where you were when you called the first one.
144
145Test special longjmp handling in wait_for_inferior (need to figure out
146in detail what the proper behavior in each case is). Test longjmp to
147a place where there is a breakpoint (such that
148BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE happens). In general, test
149interactions between longjmp and watchpoints, breakpoints, stepping,
150call function, etc.
151
152Test jumping right past a breakpoint (the case where wait_for_inferior
153passes not_a_breakpoint to bpstat_stop_status). Might already be
154tested by some of the sun3 tests. Probably want a .s test to avoid
155compiler dependencies.
156
157Test more obscure wait_for_inferior cases, expanding on the tests in
158watchpoint.exp, signals.exp, etc.
159
160Test that the copyright year in the startup message matches the
161current year (would produce a single spurious FAIL on old GDB's, but
162probably still a good idea).
163\f
164(this is for editing this file with GNU emacs)
165Local Variables:
166mode: text
167End:
This page took 0.040457 seconds and 4 git commands to generate.