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