aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/TODO
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-01-15 14:58:41 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-01-15 14:58:41 +0000
commit3dcb86173f62c9e04bf41c3b0ee7cd02ed6986d4 (patch)
treea314f5dd21ad0f379c717589c8dc2f4bb6ea48c4 /gdb/testsuite/TODO
parent831a39d7c397a80b21428a5f0319592d6c9169cc (diff)
downloadgdb-3dcb86173f62c9e04bf41c3b0ee7cd02ed6986d4.zip
gdb-3dcb86173f62c9e04bf41c3b0ee7cd02ed6986d4.tar.gz
gdb-3dcb86173f62c9e04bf41c3b0ee7cd02ed6986d4.tar.bz2
* TODO: Add note about printing of fancy types.
Diffstat (limited to 'gdb/testsuite/TODO')
-rw-r--r--gdb/testsuite/TODO156
1 files changed, 156 insertions, 0 deletions
diff --git a/gdb/testsuite/TODO b/gdb/testsuite/TODO
index e69de29..269d2ec 100644
--- a/gdb/testsuite/TODO
+++ b/gdb/testsuite/TODO
@@ -0,0 +1,156 @@
+The highest priority item is not on this list: Fix bugs in the
+existing testsuite, fix the GDB/compiler/shell/etc bugs which it
+detects (particularly when they are hard to XFAIL), make it run
+reliably without unexpected failures on the "standard" machines, etc.
+This list exists largely as "tests we can add when we are ready to
+risk destabilizing it again".
+
+return.exp--reenable test (there is nothing known to be wrong with the
+test, but it hasn't been tried on a wide range of architectures).
+
+nodebug.exp--test printing variables.
+
+Get crossload tests to use --with-targets and reenable them.
+
+corefile.exp:
+1. Print variables from the core file (data and stack), and text
+(from the exec file). This tests whether the corefile sections are
+mapped to the right addresses.
+2. Test what happens when we get a new exec file without explicitly
+getting rid of the core file (we at least must avoid core dumps and such).
+3. Test backtrace in corefile.exp.
+4. Test ability to run program when there is a core target, then go
+back to the core file when the program exits.
+
+Test handling of floating point variables
+1. float, double, or long double
+2. in register or saved register or memory. Also the case where a
+double is in two float registers and only one of them is saved.
+3. print them or set them
+4. (Alpha) integer (32 or 64 bit) in floating point register.
+
+Print registers--"p $r5", "p sizeof ($r5)". Test that they print
+appropriately (integer registers in decimal, registers which always
+contain addresses (pc, probably sp and fp, maybe others) in hex,
+floating point).
+
+Test "info line" with all kinds of linespecs. Test that the last line
+of the file works right.
+
+weird.exp--test that unrecognized cross-reference types or
+unrecognized visibility or virtual characters get skipped properly
+(see stabs.texinfo).
+
+Test C++ nested types (especially if PR 1954 is fixed; even if not
+*some* things already should work even in the presence of nested
+types). Test classes nested more than 9 levels deep (g++ mangles
+these differently) (both a demangle test and some tests which also
+test the compiler). Test calling a method of a class nested more than
+9 levels (for gdb_mangle_name and demangling).
+
+Test printing complex types, including functions, pointers to arrays
+of pointers of functions, functions which return pointers to
+functions, etc.
+
+Test that printing const-qualified versions of various types works.
+In particular, on the sparc and probably other machines, "double" is
+handled differently from most types because it requires more alignment
+and thus goes in a different section (there is a gcc 2.4.5 bug with
+"const double" on sparc).
+
+Test that GDB's "source" command works and that things work if stdin
+is redirected (to a file or a pipe). Test user defined command. Run
+an inferior each of these ways (to test that inflow.c works). Test
+that GDB works if the last line of stdin or a source'd file lacks a
+newline.
+
+Test that module__2do (for example) in a C program does not get
+demangled.
+
+Test that unmatched single quotes produce error messages, both in
+expressions and linespecs.
+
+Test "cd". "foo/bar/.." should get simplified to "foo". "/../.."
+should not get simplified (for Mach). "/.." should not get simplified
+(for other networked OSes; POSIX.1 section B.2.3.7). All these
+examples should continue to work with trailing slashes.
+
+Test scoping; here is a start
+ 1 int i=2;
+ 2 int j=3;
+ 3 main()
+ 4 {
+ 5 int i;
+ 6 for (i=600; i>0; i--)
+ 7 print_line(i);
+ 8 }
+ 9
+10 print_line(i)
+11 int i;
+12 {
+13 h();
+14 printf("%d\n",i);
+15 }
+16
+17 h()
+18 {
+19 printf("In h...");
+20 }
+Set a breakpoint in h, and print i, print_line::i, and main::i. Set a
+breakpoint in main (or don't run the program), and test that
+print_line::i is an error. But if i were static, "p main::i" should
+work even if the program is not being run.
+
+Write a test for the reentracy bug with rs6000_struct_return_address
+in rs6000-tdep.c.
+
+Test "return" from dummy frames.
+
+FORTRAN common blocks (a.out and xcoff--weird.exp has the start of
+one but it is not quite right as of 19 Nov 1993).
+
+Test that "x" command sets $_ and $__. Test $_ in general.
+
+Test ability to process NMAGIC a.out files.
+
+If there are two breakpoints in the same place, and exactly one of
+them has its condition true, test that the correct breakpoint gets
+printed.
+
+Test "jump" including jump to a breakpoint (the latter will need an
+xfail for UDI and probably VxWorks (PR 1786 for vxworks; PR 2416
+contains some info for 29k).
+
+Set a watchpoint on a local variable (to be interesting, make a few
+calls, to be more interesting, make a recursive call). Test that it
+gets disabled when leaving that scope.
+
+Test calling a function, hitting a breakpoint in the called function,
+calling another function, and hitting a breakpoint. Test backtrace
+works in the presence of multiple dummy frames. Test that "continue"
+will get you out of the inner called function, and "continue" again
+will get you back to where you were when you called the first one.
+
+Test special longjmp handling in wait_for_inferior (need to figure out
+in detail what the proper behavior in each case is). Test longjmp to
+a place where there is a breakpoint (such that
+BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE happens). In general, test
+interactions between longjmp and watchpoints, breakpoints, stepping,
+call function, etc.
+
+Test jumping right past a breakpoint (the case where wait_for_inferior
+passes not_a_breakpoint to bpstat_stop_status). Might already be
+tested by some of the sun3 tests. Probably want a .s test to avoid
+compiler dependencies.
+
+Test more obscure wait_for_inferior cases, expanding on the tests in
+watchpoint.exp, signals.exp, etc.
+
+Test that the copyright year in the startup message matches the
+current year (would produce a single spurious FAIL on old GDB's, but
+probably still a good idea).
+
+(this is for editing this file with GNU emacs)
+Local Variables:
+mode: text
+End: