diff options
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/commands.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/display.exp | 15 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/long_long.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/long_long.exp | 167 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/step-test.exp | 3 |
5 files changed, 109 insertions, 80 deletions
diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp index 62d9f109b48..c9cea084d70 100644 --- a/gdb/testsuite/gdb.base/commands.exp +++ b/gdb/testsuite/gdb.base/commands.exp @@ -185,7 +185,7 @@ proc infrun_breakpoint_command_test {} { if { [istarget "hppa*-hp-hpux*"] } { gdb_test "continue" \ "Continuing.*.*.*Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.*\[0-9\]*\[ \]*if \\(value > 1\\) \{.*\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.*" \ - "contiune in infrun_breakpoint_command_test" + "continue in infrun_breakpoint_command_test" } else { gdb_test "continue" \ "Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.* diff --git a/gdb/testsuite/gdb.base/display.exp b/gdb/testsuite/gdb.base/display.exp index 760a2e0a21e..98cd73cc285 100644 --- a/gdb/testsuite/gdb.base/display.exp +++ b/gdb/testsuite/gdb.base/display.exp @@ -46,6 +46,7 @@ gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} + # Some coverage stuff # gdb_test "kill" ".*The program is not being run.*" @@ -59,9 +60,16 @@ gdb_test "detach" ".*" # Ok, on to real life # -if {![runto main]} { - fail "Could not run to main - other tests will fail." +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if ![runto_main] then { + fail "Could not run to main - other tests will fail." + continue } + gdb_test "b 14" ".*Breakpoint 2.*" "break do_loops" gdb_test "c" ".*Breakpoint 2, do_loops.*" "get to do_loops" @@ -133,7 +141,7 @@ gdb_test "printf" ".*Argument required.*" gdb_test "printf %d" ".*Bad format string, missing.*" gdb_test "printf \"%d" ".*Bad format string, non-terminated.*" gdb_test "printf \"%d%d\",i" ".*Wrong number of arguments.*" -gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\"" ".*!.*" +gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\\n\"" ".*!.*" gdb_test "printf \"\"" ".*" "re-set term" gdb_test "printf \"\\w\"" ".*Unrecognized escape character.*" gdb_test "printf \"%d\" j" ".*Invalid argument syntax.*" @@ -159,7 +167,6 @@ gdb_test "p/i sum" ".*Format letter.*is meaningless.*.*" "no i" gdb_test "p/a &sum" ".*= $hex.*<sum>.*" gdb_test "p/a main+1000" ".*= $hex.*<.*>.*" gdb_test "p/a \$pc" ".*= $hex.*<do_vars+.*>.*" -gdb_test "p/a &j" ".*= $hex.*<do_vars+.*>.*" gdb_test "p/a &&j" ".*A parse error.*" # Done! diff --git a/gdb/testsuite/gdb.base/long_long.c b/gdb/testsuite/gdb.base/long_long.c index a76e2792ab2..04fba92897e 100644 --- a/gdb/testsuite/gdb.base/long_long.c +++ b/gdb/testsuite/gdb.base/long_long.c @@ -31,7 +31,7 @@ int known_types() */ bin = 0x123456789abcdefLL; /* 64 bits = 16 hex digits */ oct = 01234567123456701234567LL; /* = 21+ octal digits */ - dec = 12345678901234567890LL; /* = 19+ decimal digits */ + dec = 12345678901234567890ULL; /* = 19+ decimal digits */ /* Stop here and look! */ diff --git a/gdb/testsuite/gdb.base/long_long.exp b/gdb/testsuite/gdb.base/long_long.exp index 07006b653a6..b779434d2ee 100644 --- a/gdb/testsuite/gdb.base/long_long.exp +++ b/gdb/testsuite/gdb.base/long_long.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -58,6 +58,17 @@ if { ![runto known_types] } then { return } +set target_bigendian_p 1 +send_gdb "show endian\n" +gdb_expect { + -re ".*little endian.*$gdb_prompt $" { set target_bigendian_p 0 } + -re ".*big endian.*$gdb_prompt $" { } + -re ".*$gdb_prompt $" { + fail "getting target endian" + } + default { fail "(timeout) getting target endian" } +} + gdb_test "n 4" ".*38.*" "get to known place" # Check the hack for long long prints. @@ -87,76 +98,90 @@ gdb_test "p/a oct" ".*0x.*77053977.*" gdb_test "p/c oct" ".*'w'.*" gdb_test "p/f oct" ".*-5.9822653797615723e-120.*" -gdb_test "p/d *(int *)&oct" ".*-1490098887.*" -gdb_test "p/u *(int *)&oct" ".*2804868409.*" -gdb_test "p/o *(int *)&oct" ".*024713562471.*" -gdb_test "p/t *(int *)&oct" ".*10100111001011101110010100111001.*" -gdb_test "p/a *(int *)&oct" ".*0xf*a72ee539.*" -gdb_test "p/c *(int *)&oct" ".*57 '9'.*" -gdb_test "p/f *(int *)&oct" ".*-2.42716126e-15.*" - -gdb_test "p/d *(short *)&oct" ".*-22738.*" -gdb_test "p/u *(short *)&oct" ".*42798.*" -gdb_test "p/o *(short *)&oct" ".*0123456.*" -gdb_test "p/t *(short *)&oct" ".*1010011100101110.*" -gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" -gdb_test "p/c *(short *)&oct" ".* 46 '.'.*" -gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" -gdb_test "p/f *(short *)&oct" ".*-22738.*" - -gdb_test "x/x &oct" ".*0xa72ee539.*" -gdb_test "x/d &oct" ".*.-1490098887*" -gdb_test "x/u &oct" ".*2804868409.*" -gdb_test "x/o &oct" ".*024713562471.*" -gdb_test "x/t &oct" ".*10100111001011101110010100111001.*" -gdb_test "x/a &oct" ".*0xa72ee539.*" -gdb_test "x/c &oct" ".*-89 '\\\\247'.*" -gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*" - -gdb_test "x/2x &oct" ".*.*" -gdb_test "x/2d &oct" ".*.*" -gdb_test "x/2u &oct" ".*.*" -gdb_test "x/2o &oct" ".*.*" -gdb_test "x/2t &oct" ".*.*" -gdb_test "x/2a &oct" ".*.*" -gdb_test "x/2c &oct" ".*.*" -gdb_test "x/2f &oct" ".*.*" - -gdb_test "x/2bx &oct" ".*.*" -gdb_test "x/2bd &oct" ".*.*" -gdb_test "x/2bu &oct" ".*.*" -gdb_test "x/2bo &oct" ".*.*" -gdb_test "x/2bt &oct" ".*.*" -gdb_test "x/2ba &oct" ".*.*" -gdb_test "x/2bc &oct" ".*.*" -gdb_test "x/2bf &oct" ".*.*" - -gdb_test "x/2hx &oct" ".*.*" -gdb_test "x/2hd &oct" ".*.*" -gdb_test "x/2hu &oct" ".*.*" -gdb_test "x/2ho &oct" ".*.*" -gdb_test "x/2ht &oct" ".*.*" -gdb_test "x/2ha &oct" ".*.*" -gdb_test "x/2hc &oct" ".*.*" -gdb_test "x/2hf &oct" ".*.*" - -gdb_test "x/2wx &oct" ".*.*" -gdb_test "x/2wd &oct" ".*.*" -gdb_test "x/2wu &oct" ".*.*" -gdb_test "x/2wo &oct" ".*.*" -gdb_test "x/2wt &oct" ".*.*" -gdb_test "x/2wa &oct" ".*.*" -gdb_test "x/2wc &oct" ".*.*" -gdb_test "x/2wf &oct" ".*.*" - -gdb_test "x/2gx &oct" ".*.*" -gdb_test "x/2gd &oct" ".*.*" -gdb_test "x/2gu &oct" ".*.*" -gdb_test "x/2go &oct" ".*.*" -gdb_test "x/2gt &oct" ".*.*" -gdb_test "x/2ga &oct" ".*.*" -gdb_test "x/2gc &oct" ".*.*" -gdb_test "x/2gf &oct" ".*.*" +if { $target_bigendian_p } { + + gdb_test "p/d *(int *)&oct" ".*-1490098887.*" + gdb_test "p/u *(int *)&oct" ".*2804868409.*" + gdb_test "p/o *(int *)&oct" ".*024713562471.*" + gdb_test "p/t *(int *)&oct" ".*10100111001011101110010100111001.*" + gdb_test "p/a *(int *)&oct" ".*0xf*a72ee539.*" + gdb_test "p/c *(int *)&oct" ".*57 '9'.*" + gdb_test "p/f *(int *)&oct" ".*-2.42716126e-15.*" + + gdb_test "p/d *(short *)&oct" ".*-22738.*" + gdb_test "p/u *(short *)&oct" ".*42798.*" + gdb_test "p/o *(short *)&oct" ".*0123456.*" + gdb_test "p/t *(short *)&oct" ".*1010011100101110.*" + gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" + gdb_test "p/c *(short *)&oct" ".* 46 '.'.*" + gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" + gdb_test "p/f *(short *)&oct" ".*-22738.*" + + gdb_test "x/x &oct" ".*0xa72ee539.*" + gdb_test "x/d &oct" ".*.-1490098887*" + gdb_test "x/u &oct" ".*2804868409.*" + gdb_test "x/o &oct" ".*024713562471.*" + gdb_test "x/t &oct" ".*10100111001011101110010100111001.*" + gdb_test "x/a &oct" ".*0xa72ee539.*" + gdb_test "x/c &oct" ".*-89 .*" + # FIXME GDB's output is correct, but this longer match fails. + # gdb_test "x/c &oct" ".*-89 '\\\\247'.*" + gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*" + + # FIXME Fill in the results for all the following tests. (But be careful + # about looking at locations with unspecified contents!) + + gdb_test "x/2x &oct" ".*0xa72ee53977053977.*" + gdb_test "x/2d &oct" ".*-6399925985474168457.*" + gdb_test "x/2u &oct" ".*.*" + gdb_test "x/2o &oct" ".*.*" + gdb_test "x/2t &oct" ".*.*" + gdb_test "x/2a &oct" ".*.*" + gdb_test "x/2c &oct" ".*.*" + gdb_test "x/2f &oct" ".*.*" + + gdb_test "x/2bx &oct" ".*.*" + gdb_test "x/2bd &oct" ".*.*" + gdb_test "x/2bu &oct" ".*.*" + gdb_test "x/2bo &oct" ".*.*" + gdb_test "x/2bt &oct" ".*.*" + gdb_test "x/2ba &oct" ".*.*" + gdb_test "x/2bc &oct" ".*.*" + gdb_test "x/2bf &oct" ".*.*" + + gdb_test "x/2hx &oct" ".*.*" + gdb_test "x/2hd &oct" ".*.*" + gdb_test "x/2hu &oct" ".*.*" + gdb_test "x/2ho &oct" ".*.*" + gdb_test "x/2ht &oct" ".*.*" + gdb_test "x/2ha &oct" ".*.*" + gdb_test "x/2hc &oct" ".*.*" + gdb_test "x/2hf &oct" ".*.*" + + gdb_test "x/2wx &oct" ".*.*" + gdb_test "x/2wd &oct" ".*.*" + gdb_test "x/2wu &oct" ".*.*" + gdb_test "x/2wo &oct" ".*.*" + gdb_test "x/2wt &oct" ".*.*" + gdb_test "x/2wa &oct" ".*.*" + gdb_test "x/2wc &oct" ".*.*" + gdb_test "x/2wf &oct" ".*.*" + + gdb_test "x/2gx &oct" ".*.*" + gdb_test "x/2gd &oct" ".*.*" + gdb_test "x/2gu &oct" ".*.*" + gdb_test "x/2go &oct" ".*.*" + gdb_test "x/2gt &oct" ".*.*" + gdb_test "x/2ga &oct" ".*.*" + gdb_test "x/2gc &oct" ".*.*" + gdb_test "x/2gf &oct" ".*.*" + +} else { + + # FIXME Add little-endian versions of these tests, or define a + # gdb_test_bi with two strings to match on. + +} gdb_exit return 0 diff --git a/gdb/testsuite/gdb.base/step-test.exp b/gdb/testsuite/gdb.base/step-test.exp index 6eeda0b9518..c8232cbe120 100644 --- a/gdb/testsuite/gdb.base/step-test.exp +++ b/gdb/testsuite/gdb.base/step-test.exp @@ -149,7 +149,6 @@ test_i "stepi into function" "stepi" \ send_gdb "finish\n" gdb_expect { -re ".*(Program received|Program exited).*$gdb_prompt $" { - puts "*** Matched Program recieved" # Oops... We ran to the end of the program... Better reset if {![runto_main]} then { fail "Can't run to main" @@ -162,13 +161,11 @@ gdb_expect { fail "stepi: finish call" } -re ".*${decimal}.*callee.*NEXTI.*$gdb_prompt $" { - puts "*** Matched success..." pass "stepi: finish call" } -re ".*${decimal}.*callee.*STEPI.*$gdb_prompt $" { # On PA64 we end up at a different instruction than PA32 if { [istarget "hppa2.0w-hp-hpux*"] } { - puts "*** Matched success..." pass "stepi: finish call 2" } else { fail "stepi: finish call 2" |