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