This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 2/2] Prepare directory in case test_system fails
- From: Yao Qi <yao at codesourcery dot com>
- To: <gdb-patches at sourceware dot org>
- Date: Wed, 22 Oct 2014 13:43:37 +0800
- Subject: [PATCH 2/2] Prepare directory in case test_system fails
- Authentication-results: sourceware.org; auth=none
- References: <1413956617-3979-1-git-send-email-yao at codesourcery dot com>
In gdb.base/fileio.c, some functions may depend on others. For
example, test_rename renames a file to one directory which is created
in test_system. That is means, if test_system fails, test_rename
fails too, which is not a good practise, IMO.
In test_system, system ("mkdir -p XX") is used to create directories
needed for test_rename. In this patch, we use dejagnu remote_exec
proc to create these directories on host.
In my gdb testing, mingw32 host and arm-none-eabi target, system
("mkdir -p XX") doesn't work properly (this issue can be addressed
separately), and this patch fixes the following fails.
FAIL: gdb.base/fileio.exp: Renaming a directory to a non-empty directory returns ENOTEMPTY or EEXIST
FAIL: gdb.base/fileio.exp: Unlink a file
FAIL: gdb.base/fileio.exp: Unlinking a file in a directory w/o write access returns EACCES
gdb/testsuite:
2014-10-22 Yao Qi <yao@codesourcery.com>
* gdb.base/fileio.exp: Make directories on host.
---
gdb/testsuite/gdb.base/fileio.exp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.exp
index 89f0997..00c2b16 100644
--- a/gdb/testsuite/gdb.base/fileio.exp
+++ b/gdb/testsuite/gdb.base/fileio.exp
@@ -210,6 +210,13 @@ gdb_test continue \
"Continuing\\..*system 4:.*OK$stop_msg" \
"System with invalid command returns 127"
+# Prepare the directory for rename tests in case that test_system
+# failed to create.
+set dir1 [file join $outdir "dir1.fileio.test" "subdir.fileio.test"]
+remote_exec host "mkdir -p $dir1"
+set dir1 [file join $outdir "dir2.fileio.test"]
+remote_exec host "mkdir $dir1"
+
gdb_test continue \
"Continuing\\..*rename 1:.*OK$stop_msg" \
"Rename a file"
--
1.9.3