Remove extra output directory level for Ada tests

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.
This commit is contained in:
Simon Marchi 2016-07-06 10:02:48 -04:00
parent fb36c6bf0a
commit f0464b231f
5 changed files with 17 additions and 12 deletions

View File

@ -1,3 +1,10 @@
2016-07-06 Simon Marchi <simon.marchi@ericsson.com>
* 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 <manish@mozilla.com>
* simple.rs: Add test for raw pointer subscripting

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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]
}