]> Git Repo - binutils.git/blame - gdb/testsuite/TODO
Obsolete file.
[binutils.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
27677e75
JK
13Test printing of structures passed by value, for the 7th, 8th, and 9th
14arguments (PR 1714). Test printing structure arguments of
152,4,6,8,12,16,and 20 bytes. Same for structure return of all those
16sizes ("return", "finish", and call function).
24f81557 17
3dcb8617
JK
18Get crossload tests to use --with-targets and reenable them.
19
20corefile.exp:
211. Print variables from the core file (data and stack), and text
22(from the exec file). This tests whether the corefile sections are
23mapped to the right addresses.
242. Test what happens when we get a new exec file without explicitly
25getting rid of the core file (we at least must avoid core dumps and such).
263. Test backtrace in corefile.exp.
274. Test ability to run program when there is a core target, then go
28back to the core file when the program exits.
29
30Test handling of floating point variables
311. float, double, or long double
322. in register or saved register or memory. Also the case where a
33double is in two float registers and only one of them is saved.
343. print them or set them
354. (Alpha) integer (32 or 64 bit) in floating point register.
36
37Print registers--"p $r5", "p sizeof ($r5)". Test that they print
38appropriately (integer registers in decimal, registers which always
39contain addresses (pc, probably sp and fp, maybe others) in hex,
40floating point).
41
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
24f81557
JK
56Test printing complex types, including functions, pointers to arrays
57of pointers of functions, functions which return pointers to
58functions, etc.
59
60Test GDB expressions--test all operators (and overloaded operators for
61C++). Test integer constants which are signed or unsigned int, long,
62or long long. Test detection of overflow of an integer constant.
63Here are a few integer constants to test (test they get the right
64types): 5, 5LL, 5LuL, 5L6u (invalid), 5LU. Maybe things like
650x12345678, 0x87654321, etc., but their types depend on sizes of int,
66long, etc.
67
3dcb8617
JK
68Test that printing const-qualified versions of various types works.
69In particular, on the sparc and probably other machines, "double" is
70handled differently from most types because it requires more alignment
71and thus goes in a different section (there is a gcc 2.4.5 bug with
72"const double" on sparc).
73
74Test that GDB's "source" command works and that things work if stdin
75is redirected (to a file or a pipe). Test user defined command. Run
76an inferior each of these ways (to test that inflow.c works). Test
77that GDB works if the last line of stdin or a source'd file lacks a
78newline.
79
80Test that module__2do (for example) in a C program does not get
81demangled.
82
83Test that unmatched single quotes produce error messages, both in
84expressions and linespecs.
85
86Test "cd". "foo/bar/.." should get simplified to "foo". "/../.."
87should not get simplified (for Mach). "/.." should not get simplified
88(for other networked OSes; POSIX.1 section B.2.3.7). All these
89examples should continue to work with trailing slashes.
90
91Test scoping; here is a start
92 1 int i=2;
93 2 int j=3;
94 3 main()
95 4 {
96 5 int i;
97 6 for (i=600; i>0; i--)
98 7 print_line(i);
99 8 }
100 9
10110 print_line(i)
10211 int i;
10312 {
10413 h();
10514 printf("%d\n",i);
10615 }
10716
10817 h()
10918 {
11019 printf("In h...");
11120 }
112Set a breakpoint in h, and print i, print_line::i, and main::i. Set a
113breakpoint in main (or don't run the program), and test that
114print_line::i is an error. But if i were static, "p main::i" should
115work even if the program is not being run.
116
117Write a test for the reentracy bug with rs6000_struct_return_address
118in rs6000-tdep.c.
119
120Test "return" from dummy frames.
121
122FORTRAN common blocks (a.out and xcoff--weird.exp has the start of
123one but it is not quite right as of 19 Nov 1993).
124
125Test that "x" command sets $_ and $__. Test $_ in general.
126
d19fc879
JK
127Given `char abc[] = "abc\0def";' test "x/s abc" followed by "x/s"
128(should display "abc" followed by "def"). Test this works with no
129error message even if this is the last thing in the section (tests
130that val_print_string ignores an error if the error occurs after the
131'\0').
132
3dcb8617
JK
133Test ability to process NMAGIC a.out files.
134
7e1f3405
JK
135Test shared libraries: "next" over printf, "step" into a function in
136a shared library which has line number info, breakpoint in a function
137in a shared library (either before or after the program is run and the
138shared libraries are loaded--also maybe write a test where the PLT
139will be in an unloaded state even though the shared library is loaded).
140
3dcb8617
JK
141If there are two breakpoints in the same place, and exactly one of
142them has its condition true, test that the correct breakpoint gets
143printed.
144
24f81557
JK
145Test "jump" including jump to a breakpoint (the latter will need an
146xfail for UDI and probably VxWorks (PR 1786 for vxworks; PR 2416
147contains some info for 29k).
148
3dcb8617
JK
149Set a watchpoint on a local variable (to be interesting, make a few
150calls, to be more interesting, make a recursive call). Test that it
151gets disabled when leaving that scope.
152
153Test calling a function, hitting a breakpoint in the called function,
154calling another function, and hitting a breakpoint. Test backtrace
155works in the presence of multiple dummy frames. Test that "continue"
156will get you out of the inner called function, and "continue" again
157will get you back to where you were when you called the first one.
158
159Test special longjmp handling in wait_for_inferior (need to figure out
160in detail what the proper behavior in each case is). Test longjmp to
161a place where there is a breakpoint (such that
162BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE happens). In general, test
163interactions between longjmp and watchpoints, breakpoints, stepping,
164call function, etc.
165
166Test jumping right past a breakpoint (the case where wait_for_inferior
167passes not_a_breakpoint to bpstat_stop_status). Might already be
168tested by some of the sun3 tests. Probably want a .s test to avoid
169compiler dependencies.
170
171Test more obscure wait_for_inferior cases, expanding on the tests in
172watchpoint.exp, signals.exp, etc.
173
174Test that the copyright year in the startup message matches the
175current year (would produce a single spurious FAIL on old GDB's, but
176probably still a good idea).
177\f
178(this is for editing this file with GNU emacs)
179Local Variables:
180mode: text
181End:
This page took 0.146781 seconds and 4 git commands to generate.