Fix parallel testing issues in gdb.guile tests
authorYao Qi <yao@codesourcery.com>
Sat, 29 Nov 2014 08:58:34 +0000 (16:58 +0800)
committerYao Qi <yao@codesourcery.com>
Fri, 5 Dec 2014 11:45:04 +0000 (19:45 +0800)
Some gdb.guile tests such as scm-error.exp copies .scm file to
${subdir}/, how ${subdir} doesn't exist in parallel testing
(outputs/${subdir} exists).

$ make -j3 check TESTS='gdb.guile/scm-section-script.exp gdb.guile/scm-error.exp gdb.guile/scm-frame-args.exp'

ERROR: remote_download to host of ../../../../git/gdb/testsuite/gdb.guile/scm-section-script.scm to gdb.guile/t-scm-section-script.scm: cp: cannot create regular file 'gdb.guile/t-scm-section-script.scm': No such file or directory
ERROR: remote_download to host of ../../../../git/gdb/testsuite/gdb.guile/scm-frame-args.scm to gdb.guile/t-scm-frame-args.scm: cp: cannot create regular file
'gdb.guile/t-scm-frame-args.scm': No such file or directory
ERROR: remote_download to host of ../../../../git/gdb/testsuite/gdb.guile/scm-error-1.scm to gdb.guile/t-scm-error-1.scm: cp: cannot create regular file 'gdb.guile/t-scm-error-1.scm': No such file or directory

This patch is to remove the third argument of gdb_remote_download, so
that gdb_remote_download can return the correct location.

Further, these tests only copy .scm files to a different name.  From what
I can tell from the comments, looks we do this to avoid clobbering file
in in-tree build.  However, if source and dest of copy are the same, the
operation is no-op.  So it makes few sense to copy .scm files to a
different names.  I tried in-tree build/test with this patch, test
result isn't changed.

gdb/testsuite:

2014-12-05  Yao Qi  <yao@codesourcery.com>

* gdb.guile/scm-error.exp: Remove the third argument to
gdb_remote_download.
* gdb.guile/scm-frame-args.exp: Likewise.
* gdb.guile/scm-section-script.exp: Likewise.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.guile/scm-error.exp
gdb/testsuite/gdb.guile/scm-frame-args.exp
gdb/testsuite/gdb.guile/scm-section-script.exp

index 279ff40..c389d7d 100644 (file)
@@ -1,5 +1,12 @@
 2014-12-05  Yao Qi  <yao@codesourcery.com>
 
+       * gdb.guile/scm-error.exp: Remove the third argument to
+       gdb_remote_download.
+       * gdb.guile/scm-frame-args.exp: Likewise.
+       * gdb.guile/scm-section-script.exp: Likewise.
+
+2014-12-05  Yao Qi  <yao@codesourcery.com>
+
        * gdb.arch/i386-bp_permanent.exp: Use standard_testfile.
 
 2014-12-04  Doug Evans  <dje@google.com>
index 3de3dc2..8e33adf 100644 (file)
@@ -28,14 +28,10 @@ if { [skip_guile_tests] } { continue }
 
 # Test error while loading .scm.
 
-# Give the files a new name so we don't clobber the real one if
-# objfile == srcdir.
 set remote_guile_file_1 [gdb_remote_download host \
-                            ${srcdir}/${subdir}/${testfile}-1.scm \
-                            ${subdir}/t-${testfile}-1.scm]
+                            ${srcdir}/${subdir}/${testfile}-1.scm]
 set remote_guile_file_2 [gdb_remote_download host \
-                            ${srcdir}/${subdir}/${testfile}-2.scm \
-                            ${subdir}/t-${testfile}-2.scm]
+                            ${srcdir}/${subdir}/${testfile}-2.scm]
 
 gdb_test "source $remote_guile_file_1" \
     "(ERROR: )?In procedure \[+\]: Wrong type: #f.*" \
index 22ce6fe..cfdc8ff 100644 (file)
@@ -28,11 +28,8 @@ if ![gdb_guile_runto_main] {
     return
 }
 
-# Give the file a new name so we don't clobber the real one if
-# objfile == srcdir.
 set remote_guile_file [gdb_remote_download host \
-                          ${srcdir}/${subdir}/${testfile}.scm \
-                          ${subdir}/t-${testfile}.scm]
+                          ${srcdir}/${subdir}/${testfile}.scm]
 
 gdb_scm_load_file "$remote_guile_file" "load script"
 
index 0c5e489..ba496dc 100644 (file)
@@ -35,14 +35,10 @@ standard_testfile
 
 # Make this available to gdb before the program starts, it is
 # automagically loaded by gdb.
-# Give the file a new name so we don't clobber the real one if
-# objfile == srcdir.
 # We also need to do this before compiling the program because the name
 # of the script file is encoded in the binary.
-# FIXME: Can we get gdb_remote_download to call standard_output_file for us?
 set remote_guile_file [gdb_remote_download host \
-                          ${srcdir}/${subdir}/${testfile}.scm \
-                          ${subdir}/t-${testfile}.scm]
+                          ${srcdir}/${subdir}/${testfile}.scm]
 
 if {[build_executable $testfile.exp $testfile $srcfile \
        [list debug "additional_flags=-I${srcdir}/../../include -DSCRIPT_FILE=\"$remote_guile_file\""]] == -1} {