]>
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 | ||
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 | ||
0ab6de23 RS |
44 | Test "jump" including jump to a breakpoint (the latter will need an |
45 | xfail for UDI and probably VxWorks (PR 1786 for vxworks; PR 2416 | |
46 | contains some info for 29k). | |
47 | ||
3dcb8617 JK |
48 | Test C++ nested types (especially if PR 1954 is fixed; even if not |
49 | *some* things already should work even in the presence of nested | |
50 | types). Test classes nested more than 9 levels deep (g++ mangles | |
51 | these differently) (both a demangle test and some tests which also | |
52 | test the compiler). Test calling a method of a class nested more than | |
53 | 9 levels (for gdb_mangle_name and demangling). | |
54 | ||
3dcb8617 JK |
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 | ||
3dcb8617 JK |
120 | Set a watchpoint on a local variable (to be interesting, make a few |
121 | calls, to be more interesting, make a recursive call). Test that it | |
122 | gets disabled when leaving that scope. | |
123 | ||
124 | Test calling a function, hitting a breakpoint in the called function, | |
125 | calling another function, and hitting a breakpoint. Test backtrace | |
126 | works in the presence of multiple dummy frames. Test that "continue" | |
127 | will get you out of the inner called function, and "continue" again | |
128 | will get you back to where you were when you called the first one. | |
129 | ||
130 | Test special longjmp handling in wait_for_inferior (need to figure out | |
131 | in detail what the proper behavior in each case is). Test longjmp to | |
132 | a place where there is a breakpoint (such that | |
133 | BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE happens). In general, test | |
134 | interactions between longjmp and watchpoints, breakpoints, stepping, | |
135 | call function, etc. | |
136 | ||
137 | Test jumping right past a breakpoint (the case where wait_for_inferior | |
138 | passes not_a_breakpoint to bpstat_stop_status). Might already be | |
139 | tested by some of the sun3 tests. Probably want a .s test to avoid | |
140 | compiler dependencies. | |
141 | ||
142 | Test more obscure wait_for_inferior cases, expanding on the tests in | |
143 | watchpoint.exp, signals.exp, etc. | |
144 | ||
145 | Test that the copyright year in the startup message matches the | |
146 | current year (would produce a single spurious FAIL on old GDB's, but | |
147 | probably still a good idea). | |
148 | \f | |
149 | (this is for editing this file with GNU emacs) | |
150 | Local Variables: | |
151 | mode: text | |
152 | End: |