Index: gdb/testsuite/gdb.base/fileio.exp |
diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.exp |
index a001559361c0974fd15f4b8e7b29f781d948a236..f77218fe77ba9927da26680945c6988c5459f03f 100644 |
--- a/gdb/testsuite/gdb.base/fileio.exp |
+++ b/gdb/testsuite/gdb.base/fileio.exp |
@@ -1,4 +1,4 @@ |
-# Copyright 2002-2004, 2007-2012 Free Software Foundation, Inc. |
+# Copyright 2002-2013 Free Software Foundation, Inc. |
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
@@ -21,11 +21,17 @@ if [target_info exists gdb,nofileio] { |
} |
-set testfile "fileio" |
-set srcfile ${testfile}.c |
-set binfile ${objdir}/${subdir}/${testfile} |
+standard_testfile |
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { |
+if {[is_remote host]} { |
+ set outdir . |
+} else { |
+ set outdir [standard_output_file {}] |
+} |
+ |
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ |
+ executable \ |
+ [list debug "additional_flags=-DOUTDIR=\"$outdir/\""]] != "" } { |
untested fileio.exp |
return -1 |
} |
@@ -34,11 +40,14 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb |
# used to compile the test case. |
if [get_compiler_info] { |
- return -1; |
+ return -1 |
} |
-remote_exec build {sh -xc test\ -r\ dir2.fileio.test\ &&\ chmod\ -f\ +w\ dir2.fileio.test} |
-remote_exec build {sh -xc rm\ -rf\ *.fileio.test} |
+set dir2 [standard_output_file dir2.fileio.test] |
+if {[file exists $dir2] && ![file writable $dir2]} { |
+ system "chmod +w $dir2" |
+} |
+system "rm -rf [standard_output_file *.fileio.test]" |
set oldtimeout $timeout |
set timeout [expr "$timeout + 60"] |
@@ -80,7 +89,7 @@ gdb_test continue \ |
gdb_test "continue" ".*" "" |
-catch "system \"chmod -f -w nowrt.fileio.test\"" |
+catch "system \"chmod -f -w [standard_output_file nowrt.fileio.test]\"" |
gdb_test continue \ |
"Continuing\\..*open 5:.*EACCES$stop_msg" \ |
@@ -243,11 +252,11 @@ gdb_test continue \ |
"Time(2) returns feasible values" |
gdb_exit |
-# Wait till GDB really exits. |
-sleep 1 |
-remote_exec build {sh -xc test\ -r\ dir2.fileio.test\ &&\ chmod\ -f\ +w\ dir2.fileio.test} |
-remote_exec build {sh -xc rm\ -rf\ *.fileio.test} |
+# Make dir2 writable again so rm -rf of a build tree Just Works. |
+if {[file exists $dir2] && ![file writable $dir2]} { |
+ system "chmod +w $dir2" |
+} |
set timeout $oldtimeout |
return 0 |