From 4fe85f5c276ced5f5c35f9d3ba32644e83b5dc07 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Sun, 17 Apr 2011 19:04:07 +0000 Subject: gdb/testsuite/ * gdb.threads/gcore-thread.exp ($testfile): Match it the .exp filename. ($srcfile): Preserve the original value. ($testfile): Match it the .exp filename. ($corefile): New variable. Substitute it around. Use clean_restart. ($prev_timeout): Remove. (load_core): Move core loading into this proc. Fix restore of $timeout if load_core fails. --- gdb/testsuite/ChangeLog | 12 +++++ gdb/testsuite/gdb.threads/gcore-thread.exp | 74 +++++++++++++++--------------- 2 files changed, 49 insertions(+), 37 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 15e8b6c..b0fd5af 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,17 @@ 2011-04-17 Jan Kratochvil + * gdb.threads/gcore-thread.exp ($testfile): Match it the .exp + filename. + ($srcfile): Preserve the original value. + ($testfile): Match it the .exp filename. + ($corefile): New variable. Substitute it around. + Use clean_restart. + ($prev_timeout): Remove. + (load_core): Move core loading into this proc. + Fix restore of $timeout if load_core fails. + +2011-04-17 Jan Kratochvil + * gdb.base/eu-strip-infcall.c: New file. * gdb.base/eu-strip-infcall.exp: New file. diff --git a/gdb/testsuite/gdb.threads/gcore-thread.exp b/gdb/testsuite/gdb.threads/gcore-thread.exp index c43e3a4..fa460bb 100644 --- a/gdb/testsuite/gdb.threads/gcore-thread.exp +++ b/gdb/testsuite/gdb.threads/gcore-thread.exp @@ -21,11 +21,11 @@ if $tracelevel then { strace $tracelevel } - # Single-threaded test case -set testfile "pthreads" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/gcore-${testfile} +set testfile "gcore-thread" +set srcfile pthreads.c +set binfile ${objdir}/${subdir}/${testfile} +set corefile ${objdir}/${subdir}/${testfile}.test if [istarget "*-*-linux"] then { set target_cflags "-D_MIT_POSIX_THREADS" @@ -41,10 +41,7 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab # Start with a fresh gdb. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${testfile} # regexp for "horizontal" text (i.e. doesn't include newline or # carriage return) @@ -53,7 +50,6 @@ set horiz "\[^\n\r\]*" # regexp for newline set nl "\[\r\n\]+" -set prev_timeout $timeout set timeout 30 gdb_test_multiple "help gcore" "help gcore" { @@ -92,10 +88,9 @@ delete_breakpoints gdb_breakpoint "thread2" gdb_test "continue" "Continuing.*Breakpoint.* thread2 .*" "thread 2 is running" -set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore.test] +set escapedfilename [string_to_regexp $corefile] # Drop corefile -gdb_test_multiple "gcore ${objdir}/${subdir}/gcore.test" \ - "save a corefile" \ +gdb_test_multiple "gcore $corefile" "save a corefile" \ { -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" { pass "save a corefile" @@ -114,31 +109,38 @@ if {!$core_supported} { return -1 } + # Now restart gdb and load the corefile. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test_multiple "core ${objdir}/${subdir}/gcore.test" \ - "re-load generated corefile" { - -re ".* is not a core dump:.*$gdb_prompt $" { - fail "re-load generated corefile (bad file format)" - # No use proceeding from here. - return; - } - -re ".*: No such file or directory.*$gdb_prompt $" { - fail "re-load generated corefile (file not found)" - # No use proceeding from here. - return; - } - -re ".*Couldn't find .* registers in core file.*$gdb_prompt $" { - fail "re-load generated corefile (incomplete note section)" - } - -re "Core was generated by .*$gdb_prompt $" { - pass "re-load generated corefile" +clean_restart ${testfile} + +proc load_core { corefile } { + global gdb_prompt + + gdb_test_multiple "core $corefile" \ + "re-load generated corefile" { + -re " is not a core dump:.*\r\n$gdb_prompt $" { + fail "re-load generated corefile (bad file format)" + # No use proceeding from here. + return 0; + } + -re ": No such file or directory.*\r\n$gdb_prompt $" { + fail "re-load generated corefile (file not found)" + # No use proceeding from here. + return 0; + } + -re "Couldn't find .* registers in core file.*\r\n$gdb_prompt $" { + fail "re-load generated corefile (incomplete note section)" + } + -re "Core was generated by .*\r\n$gdb_prompt $" { + pass "re-load generated corefile" + } } - } + return 1 +} + +if ![load_core $corefile] { + return +} # FIXME: now what can we test about the thread state? # We do not know for certain that there should be at least @@ -158,5 +160,3 @@ gdb_test "info threads" ".* thread2 .*" \ gdb_test "info threads" ".*${nl}\\* ${horiz} thread2 .*" \ "thread2 is current thread in corefile" - -set timeout $prev_timeout -- cgit v1.1