X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.base%2Fdisplay.exp;h=af579cb0b17cbd9771d8539def09548625fe9803;hb=6aba47ca06d9150c6196a374b745c2711b46e045;hp=37007487b06a893794cbec4e204f9e8e6d267ba1;hpb=958a4e4cdee7ecff2b81785b50c5b282b7014ac2;p=thirdparty%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.base/display.exp b/gdb/testsuite/gdb.base/display.exp index 37007487b06..af579cb0b17 100644 --- a/gdb/testsuite/gdb.base/display.exp +++ b/gdb/testsuite/gdb.base/display.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1998 +# Copyright 1997, 1998, 1999, 2000, 2001, 2003, 2007 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -26,18 +26,24 @@ if $tracelevel then { } set testfile display -set srcfile ${srcdir}/${subdir}/${testfile}.c +set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } { + untested display.exp + return -1 } if [target_info exists gdb_stub] { gdb_step_for_stub; } +# Preserve the old timeout, and set a new one that should be +# sufficient to avoid timing out during this test. +set oldtimeout $timeout +set timeout [expr "$timeout + 60"] +verbose "Timeout is now $timeout seconds" 2 # use this to debug: #log_user 1 @@ -49,22 +55,23 @@ gdb_load ${binfile} # Some coverage stuff # -gdb_test "kill" ".*The program is not being run.*" -gdb_test "detach" ".*" -gdb_test "run" ".*" - -gdb_load ${binfile} -gdb_test "kill" ".*" -gdb_test "detach" ".*" +if ![target_info exists use_gdb_stub] { + gdb_test "kill" ".*The program is not being run.*" + gdb_test "detach" ".*" + gdb_test "run" ".*" + + gdb_load ${binfile} + gdb_test "kill" ".*" "kill again" + gdb_test "detach" ".*" "detach again" + + gdb_exit + gdb_start + gdb_reinitialize_dir $srcdir/$subdir + gdb_load ${binfile} +} # Ok, on to real life # - -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 @@ -89,13 +96,13 @@ gdb_test "info disp" ".*There are no auto-display expressions now..*" "inf disp" gdb_test "disp i" ".*1: i = 0.*" "display i" gdb_test "disp/x j" ".*2: /x j = 0x0.*" "display j" gdb_test "disp/i &k" ".*3: x/i &k $hex:.*" "display &k" -gdb_test "disp/f sum" ".*4: /f sum = 0.*" "display/f sum" +gdb_test "disp/f f" ".*4: /f f = 3.1415*" "display/f f" gdb_test "disp/s &sum" ".*5: x/s &sum $hex.*sum.:.*" "display/s &sum" # Hit the displays # -gdb_test "cont" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 1.40129846e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0\r\n\[1-9\]*: i = 0.*" "first disp" -gdb_test "cont" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 2.80259693e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0.*\[1-9\]*: i = 0.*" "second disp" +gdb_test "cont" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f f = 3.1415\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0\r\n\[1-9\]*: i = 0.*" "first disp" +gdb_test "cont" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f f = 4.1415\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0.*\[1-9\]*: i = 0.*" "second disp" gdb_test "enab disp 6" ".*No display number 6..*" "catch err" gdb_test "disab disp 1" ".*" "disab disp 1" @@ -103,9 +110,9 @@ gdb_test "disab disp 2" ".*" "disab disp 2" gdb_test "enab disp 1" ".*" "re-enab" gdb_test "enab disp 1" ".*" "re-enab of enab" gdb_test "undisp 5" ".*" "undisp" -gdb_test "info disp" ".*Auto-display expressions now in effect.*y /f sum.*y /1bi &k.*n /x j.*y i.*" "info disp" +gdb_test "info disp" ".*Auto-display expressions now in effect.*y /f f.*y /1bi &k.*n /x j.*y i.*" "info disp" -gdb_test "cont" ".*\[Ww\]atch.*4.20389539e-45.*.*i = 0.*" "next hit" +gdb_test "cont" ".*\[Ww\]atch.*5.1415.*.*i = 0.*" "next hit" send_gdb "undisp\n" gdb_expect { @@ -201,4 +208,9 @@ gdb_test "print/a &&j" ".*A .* error in expression.*" # Done! # gdb_exit + +# Restore the preserved old timeout value. +set timeout $oldtimeout +verbose "Timeout is now $timeout seconds" 2 + return 0