Remove extra output directory level for Ada tests
authorSimon Marchi <simon.marchi@ericsson.com>
Wed, 6 Jul 2016 14:02:48 +0000 (10:02 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 6 Jul 2016 14:03:15 +0000 (10:03 -0400)
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
gdb/testsuite/gdb.ada/cond_lang.exp
gdb/testsuite/gdb.ada/exec_changed.exp
gdb/testsuite/gdb.ada/lang_switch.exp
gdb/testsuite/lib/ada.exp

index 6445a10fb41708861d7b25cc4739f2d815b49869..013af4d6af620c4799f4eb90fa63b9ff9b2b00a6 100644 (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
index e08fadac3002d4c952c6ac88c54551f1537d18ba..997b37a8ecee9d65d16e078fc0ab181d961620f3 100644 (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]
index 6cc6408e549450def155a0b7da79b88ade9efd34..a574cd5fb7048cd4f8d72a8c0594a58516d7f73f 100644 (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
index 804535814bfe26aaafcf2f860098be0620762fce..661829bee78e4bfde804ffd7a2a56ffdebab6293 100644 (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]
index 01f30082899a970fa4886a0fd025b24b4f3373e9..a9d17584e2dd6eef9512c59957056c29c1c7b423 100644 (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]
 }
This page took 0.057428 seconds and 4 git commands to generate.