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