From f0464b231f046b836e2ed721d764fa309f18eb39 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 6 Jul 2016 10:02:48 -0400 Subject: [PATCH] Remove extra output directory level for Ada tests MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The output of Ada tests create a layout where the test name ("formatted_ref" in this example) appears twice: outputs └── gdb.ada └── formatted_ref └── formatted_ref ├── b~formatted_ref.adb ├── b~formatted_ref.ads ├── b~formatted_ref.ali ├── b~formatted_ref.o ├── defs.ali ├── defs.o ├── formatted_ref ├── formatted_ref.ali └── formatted_ref.o This causes a problem when testing with the native-gdbserver board, when the binary has the same name as the test. When gdb_remote_download is called to upload the compiled binary, the implementation for native-gdbserver copies it in the standard output directory (in outputs/gdb.ada/formatted_ref). However, there is already a directory named formatted_ref in there, so the copy fails and gdbserver isn't able to load the binary. This patch bypasses the problem by removing the extra directory level. The compiled binary will already be in its final location in the standard output directory, so the copy will effectively be a no-op. gdb/testsuite/ChangeLog: * lib/ada.exp: Remove extra directory level in build directory. * gdb.ada/cond_lang.exp: Likewise. * gdb.ada/exec_changed.exp: Likewise. * gdb.ada/lang_switch.exp: Likewise. --- gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.ada/cond_lang.exp | 4 ++-- gdb/testsuite/gdb.ada/exec_changed.exp | 7 +++---- gdb/testsuite/gdb.ada/lang_switch.exp | 4 ++-- gdb/testsuite/lib/ada.exp | 7 +++---- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6445a10fb41..013af4d6af6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2016-07-06 Simon Marchi + + * lib/ada.exp: Remove extra directory level in build directory. + * gdb.ada/cond_lang.exp: Likewise. + * gdb.ada/exec_changed.exp: Likewise. + * gdb.ada/lang_switch.exp: Likewise. + 2016-07-06 Manish Goregaokar * simple.rs: Add test for raw pointer subscripting diff --git a/gdb/testsuite/gdb.ada/cond_lang.exp b/gdb/testsuite/gdb.ada/cond_lang.exp index e08fadac300..997b37a8ece 100644 --- a/gdb/testsuite/gdb.ada/cond_lang.exp +++ b/gdb/testsuite/gdb.ada/cond_lang.exp @@ -17,8 +17,8 @@ load_lib "ada.exp" standard_ada_testfile a -set cfile "${testdir}/foo" -set csrcfile ${srcdir}/${subdir}/${cfile}.c +set cfile "foo" +set csrcfile ${srcdir}/${subdir}/${testdir}/${cfile}.c set cobject [standard_output_file ${cfile}.o] gdb_compile "${csrcfile}" "${cobject}" object [list debug] diff --git a/gdb/testsuite/gdb.ada/exec_changed.exp b/gdb/testsuite/gdb.ada/exec_changed.exp index 6cc6408e549..a574cd5fb70 100644 --- a/gdb/testsuite/gdb.ada/exec_changed.exp +++ b/gdb/testsuite/gdb.ada/exec_changed.exp @@ -32,9 +32,8 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}$EXEEXT" executable {debug}] != ""} } # Build the second test program -set testfile2 "${testdir}/second" -set srcfile2 ${srcdir}/${subdir}/${testfile2}.adb -set binfile2 [standard_output_file ${testfile2}$EXEEXT] +set srcfile2 ${srcdir}/${subdir}/${testdir}/second.adb +set binfile2 [standard_output_file second$EXEEXT] if {[gdb_compile_ada "${srcfile2}" "${binfile2}" executable {debug}] != ""} { return -1 @@ -42,7 +41,7 @@ if {[gdb_compile_ada "${srcfile2}" "${binfile2}" executable {debug}] != ""} { # Start with a fresh gdb. -set common_binfile [standard_output_file ${testdir}/common$EXEEXT] +set common_binfile [standard_output_file common$EXEEXT] gdb_start gdb_reinitialize_dir $srcdir/$subdir diff --git a/gdb/testsuite/gdb.ada/lang_switch.exp b/gdb/testsuite/gdb.ada/lang_switch.exp index 804535814bf..661829bee78 100644 --- a/gdb/testsuite/gdb.ada/lang_switch.exp +++ b/gdb/testsuite/gdb.ada/lang_switch.exp @@ -16,8 +16,8 @@ load_lib "ada.exp" standard_ada_testfile lang_switch -set cfile "${testdir}/foo" -set csrcfile ${srcdir}/${subdir}/${cfile}.c +set cfile "foo" +set csrcfile ${srcdir}/${subdir}/${testdir}/${cfile}.c set cobject [standard_output_file ${cfile}.o] gdb_compile "${csrcfile}" "${cobject}" object [list debug] diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp index 01f30082899..a9d17584e2d 100644 --- a/gdb/testsuite/lib/ada.exp +++ b/gdb/testsuite/lib/ada.exp @@ -73,9 +73,8 @@ proc standard_ada_testfile {base_file {dir ""}} { } else { set testdir $dir } - set testfile $testdir/$base_file - set srcfile $srcdir/$subdir/$testfile.adb - set binfile [standard_output_file $testfile] - file mkdir [standard_output_file $testdir] + set testfile $base_file + set srcfile $srcdir/$subdir/$testdir/$testfile.adb + set binfile [standard_output_file $testfile] } -- 2.30.2