forked from Imagelibrary/binutils-gdb
[gdb/testsuite] Fix gdb.dwarf2/dw-form-strx-out-of-bounds.exp with make-check-all.sh
I forgot to run test-case gdb.dwarf2/dw-form-strx-out-of-bounds.exp with make-check-all.sh, and consequently failed to notice that it fails with for instance target board fission-dwp. The test-case does: ... source $srcdir/$subdir/dw-form-strx.exp.tcl ... and in that tcl file, prepare_for_testing fails, so a -1 is returned, but that is ignored by the source command. Fix this by using require, but rather that testing the result of the source command, communicate success by setting a global variable prepare_for_testing_done. Likewise in gdb.dwarf2/dw-form-strx.exp. Also, the test-case gdb.dwarf2/dw-form-strx-out-of-bounds.exp fails for target board readnow, because the DWARF error occurs during a different command than expected. Fix this by just skipping the test-case in that case. Tested on x86_64-linux. Reported-by: Simon Marchi <simark@simark.ca> Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -18,7 +18,13 @@
|
||||
# Out of bounds index.
|
||||
set int_str_idx 1
|
||||
|
||||
# With readnow, the dwarf error is printed during the file command, so skip
|
||||
# the test.
|
||||
require !readnow
|
||||
|
||||
set prepare_for_testing_done 0
|
||||
source $srcdir/$subdir/dw-form-strx.exp.tcl
|
||||
require {expr $prepare_for_testing_done == 1}
|
||||
|
||||
set re_dwarf_error \
|
||||
[string_list_to_regexp \
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
# Correct index.
|
||||
set int_str_idx 0
|
||||
|
||||
set prepare_for_testing_done 0
|
||||
source $srcdir/$subdir/dw-form-strx.exp.tcl
|
||||
require {expr $prepare_for_testing_done == 1}
|
||||
|
||||
gdb_test "ptype global_var" "type = int"
|
||||
|
||||
@@ -56,5 +56,9 @@ Dwarf::assemble $asm_file {
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} \
|
||||
[list $srcfile $asm_file] {nodebug}] } {
|
||||
return -1
|
||||
return
|
||||
}
|
||||
|
||||
# Let includers know prepare_for_testing was done, without having to check
|
||||
# source return status.
|
||||
set prepare_for_testing_done 1
|
||||
|
||||
Reference in New Issue
Block a user