diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2022-04-22 09:16:59 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2022-04-26 20:16:03 -0400 |
commit | 019a5c62974523a3331911130c66350ef0a6f3c4 (patch) | |
tree | cf2f44ec018c1957bff0c335820a0b87c0479715 | |
parent | 2538fcd3f4b6807f48de20982a2d9c584d98912b (diff) | |
download | binutils-019a5c62974523a3331911130c66350ef0a6f3c4.zip binutils-019a5c62974523a3331911130c66350ef0a6f3c4.tar.gz binutils-019a5c62974523a3331911130c66350ef0a6f3c4.tar.bz2 |
gdb/testsuite: use with_cwd where possible
I learned about with_cwd today. I spotted a few spots that could use
it, to make the code more robust.
Change-Id: Ia23664cb827f25e79d31948e0c006a8dc61c33e1
-rw-r--r-- | gdb/testsuite/gdb.base/completion.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/fullname.exp | 12 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/fullpath-expand.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/settings.exp | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/source-dir.exp | 41 | ||||
-rw-r--r-- | gdb/testsuite/gdb.linespec/break-ask.exp | 23 | ||||
-rw-r--r-- | gdb/testsuite/gdb.linespec/macro-relative.exp | 13 | ||||
-rw-r--r-- | gdb/testsuite/lib/ada.exp | 8 |
8 files changed, 59 insertions, 67 deletions
diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp index 34a16af..0c58a1a 100644 --- a/gdb/testsuite/gdb.base/completion.exp +++ b/gdb/testsuite/gdb.base/completion.exp @@ -675,10 +675,9 @@ gdb_test "complete whatis &values\[0\]->z" \ # ${srcdir} may be a relative path. We want to make sure we end up # in the right directory - so make sure we know where it is. -set mydir [pwd] -cd ${srcdir} -set fullsrcdir [pwd] -cd ${mydir} +with_cwd $srcdir { + set fullsrcdir [pwd] +} # If the directory name contains a '+' we must escape it, adding a backslash. # If not, the test below will fail because it will interpret the '+' as a diff --git a/gdb/testsuite/gdb.base/fullname.exp b/gdb/testsuite/gdb.base/fullname.exp index a264dc7..f9faca8 100644 --- a/gdb/testsuite/gdb.base/fullname.exp +++ b/gdb/testsuite/gdb.base/fullname.exp @@ -99,14 +99,12 @@ if { [gdb_breakpoint [standard_output_file tmp-${srcfile}]:${line} {no-message}] # Build the test executable using relative paths not relative to the directory # we'll run GDB from. -set save_pwd [pwd] -cd [standard_output_file {}] -if { [gdb_compile [standard_output_file tmp-${srcfile}] "${testfile}" \ - executable {debug}] != "" } { - cd $save_pwd - return -1 +with_cwd [standard_output_file {}] { + if { [gdb_compile [standard_output_file tmp-${srcfile}] "${testfile}" \ + executable {debug}] != "" } { + return -1 + } } -cd $save_pwd gdb_exit gdb_start diff --git a/gdb/testsuite/gdb.base/fullpath-expand.exp b/gdb/testsuite/gdb.base/fullpath-expand.exp index efa8d63..b389024 100644 --- a/gdb/testsuite/gdb.base/fullpath-expand.exp +++ b/gdb/testsuite/gdb.base/fullpath-expand.exp @@ -25,13 +25,13 @@ if { [file pathtype $objdir] != "absolute" } { return -1 } -set saved_pwd [pwd] -cd $srcdir -set err [gdb_compile "${subdir}/${srcfile} ${subdir}/${srcfile2}" $binfile executable {debug}] -cd $saved_pwd -if { $err != "" } { - untested "${srcfile} or ${srcfile2} compilation failed" - return -1 +with_cwd $srcdir { + set err [gdb_compile "${subdir}/${srcfile} ${subdir}/${srcfile2}" $binfile executable {debug}] + + if { $err != "" } { + untested "${srcfile} or ${srcfile2} compilation failed" + return -1 + } } set result [catch "exec realpath ${srcdir}/${subdir}/${srcfile2}" realsrcfile2] diff --git a/gdb/testsuite/gdb.base/settings.exp b/gdb/testsuite/gdb.base/settings.exp index efd7f17..dafc5e4 100644 --- a/gdb/testsuite/gdb.base/settings.exp +++ b/gdb/testsuite/gdb.base/settings.exp @@ -585,11 +585,9 @@ proc test-string {variant} { # ${srcdir} may be a relative path. We want to make sure we # end up in the right directory - so make sure we know where # it is. - global srcdir - set mydir [pwd] - cd ${srcdir} - set fullsrcdir [pwd] - cd ${mydir} + with_cwd $::srcdir { + set fullsrcdir [pwd] + } gdb_test "cd ${fullsrcdir}" \ "Working directory [string_to_regexp ${fullsrcdir}].*" \ diff --git a/gdb/testsuite/gdb.base/source-dir.exp b/gdb/testsuite/gdb.base/source-dir.exp index 21d4831..fff1c1f 100644 --- a/gdb/testsuite/gdb.base/source-dir.exp +++ b/gdb/testsuite/gdb.base/source-dir.exp @@ -87,31 +87,28 @@ proc test_truncated_comp_dir {} { return } - set original_dir [pwd] set working_dir [standard_output_file ""] - cd ${working_dir} - - set strip_dir [file normalize "${working_dir}/../.."] - - set new_srcfile [standard_output_file ${srcfile}] - set fd [open "$new_srcfile" w] - puts $fd "int - main () - { - return 0; - }" - close $fd - - set options \ - "debug additional_flags=-fdebug-prefix-map=${strip_dir}=" - if { [gdb_compile "${srcfile}" "${binfile}" \ - executable ${options}] != "" } { - untested "failed to compile" - return -1 + with_cwd $working_dir { + set strip_dir [file normalize "${working_dir}/../.."] + + set new_srcfile [standard_output_file ${srcfile}] + set fd [open "$new_srcfile" w] + puts $fd "int + main () + { + return 0; + }" + close $fd + + set options \ + "debug additional_flags=-fdebug-prefix-map=${strip_dir}=" + if { [gdb_compile "${srcfile}" "${binfile}" \ + executable ${options}] != "" } { + untested "failed to compile" + return -1 + } } - cd ${original_dir} - clean_restart ${binfile} if { [ishost *-*-mingw*] } { diff --git a/gdb/testsuite/gdb.linespec/break-ask.exp b/gdb/testsuite/gdb.linespec/break-ask.exp index d73172d..120c399 100644 --- a/gdb/testsuite/gdb.linespec/break-ask.exp +++ b/gdb/testsuite/gdb.linespec/break-ask.exp @@ -28,16 +28,19 @@ if { [file pathtype $objdir] == "relative" } { untested "objdir $objdir should be absolute" return } -set saved_pwd [pwd] -cd $srcdir/${subdir}/base/one -set err1 [gdb_compile "thefile.cc" $objfile1 object $opts] -cd $saved_pwd -cd $srcdir/${subdir}/base/two -set err2 [gdb_compile "thefile.cc" $objfile2 object $opts] -cd $saved_pwd -if { $err1 != "" || $err2 != "" } { - untested "compilation failed" - return -1 + +with_cwd $srcdir/${subdir}/base/one { + if { [gdb_compile "thefile.cc" $objfile1 object $opts] != "" } { + untested "compilation failed" + return + } +} + +with_cwd $srcdir/${subdir}/base/two { + if { [gdb_compile "thefile.cc" $objfile2 object $opts] != "" } { + untested "compilation failed" + return + } } if { [gdb_compile "$srcdir/${subdir}/$srcfile $objfile1 $objfile2" \ diff --git a/gdb/testsuite/gdb.linespec/macro-relative.exp b/gdb/testsuite/gdb.linespec/macro-relative.exp index 609f290..67b779f 100644 --- a/gdb/testsuite/gdb.linespec/macro-relative.exp +++ b/gdb/testsuite/gdb.linespec/macro-relative.exp @@ -32,13 +32,12 @@ if { [file pathtype $objdir] == "relative" } { untested "objdir $objdir should be absolute" return } -set saved_pwd [pwd] -cd $srcdir/${subdir}/base/two -set err [gdb_compile "../../${srcfile}" "${binfile}" executable $opts] -cd $saved_pwd -if { $err != "" } { - untested "compilation failed" - return -1 + +with_cwd $srcdir/${subdir}/base/two { + if { [gdb_compile "../../${srcfile}" "${binfile}" executable $opts] != "" } { + untested "compilation failed" + return + } } clean_restart ${testfile} diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp index 67581c8..25f8193 100644 --- a/gdb/testsuite/lib/ada.exp +++ b/gdb/testsuite/lib/ada.exp @@ -18,8 +18,6 @@ # BUILDDIR. proc target_compile_ada_from_dir {builddir source dest type options} { - set saved_cwd [pwd] - global board set board [target_info name] set save_multilib_flag [board_info $board multilib_flags] @@ -39,10 +37,10 @@ proc target_compile_ada_from_dir {builddir source dest type options} { } catch { - cd $builddir - return [target_compile $source $dest $type $options] + with_cwd $builddir { + return [target_compile $source $dest $type $options] + } } result options - cd $saved_cwd if { $save_multilib_flag != "" } { unset_board_info "multilib_flags" |