diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-17 19:04:07 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-17 19:04:07 +0000 |
commit | 4fe85f5c276ced5f5c35f9d3ba32644e83b5dc07 (patch) | |
tree | 058cf0f094f11a44fd3f85c99338d79749ccb547 /gdb/testsuite/gdb.threads | |
parent | 63524580f8372e38a6a62fd875a4252068c31150 (diff) | |
download | fsf-binutils-gdb-4fe85f5c276ced5f5c35f9d3ba32644e83b5dc07.zip fsf-binutils-gdb-4fe85f5c276ced5f5c35f9d3ba32644e83b5dc07.tar.gz fsf-binutils-gdb-4fe85f5c276ced5f5c35f9d3ba32644e83b5dc07.tar.bz2 |
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.
Diffstat (limited to 'gdb/testsuite/gdb.threads')
-rw-r--r-- | gdb/testsuite/gdb.threads/gcore-thread.exp | 74 |
1 files changed, 37 insertions, 37 deletions
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 |