aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-21 21:18:21 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-21 21:18:21 +0000
commit11074243315907946784af0e4af8541b5c505a02 (patch)
tree539ec7693be4e2e1a2c8917c768c134b496b6ac0
parent95b097779a670dca5f06fbceede31de60046ed76 (diff)
downloadglibc-11074243315907946784af0e4af8541b5c505a02.zip
glibc-11074243315907946784af0e4af8541b5c505a02.tar.gz
glibc-11074243315907946784af0e4af8541b5c505a02.tar.bz2
Make io/ftwtest-sh remove temporary files on early exit.
The test io/ftwtest-sh creates a directory that at some points during the test does not have execute permission. To avoid leaving behind such a directory that prevents the build directory from being removed with a simple "rm -rf", it traps various signals to make the directory executable and remove it before exit. However, this doesn't cover the case where one of the tests simply fails (which happens with cross testing if testing on a remote system where the path to the build directory involves a symlink, or if that remote system fell over during testing - I think the latter is the case where the directory is left behind with bad permissions). This patch makes that test also trap signal 0 (exit) so that the directory gets properly removed in such failure cases as well. Tested in both configurations where the test passes and where it fails to verify that the result of the test is unchanged but the directory is no longer left behind where it was previously left behind. * io/ftwtest-sh: Also trap on exit to remove temporary files.
-rw-r--r--ChangeLog4
-rw-r--r--io/ftwtest-sh4
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1300047..66a0cce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-21 Joseph Myers <joseph@codesourcery.com>
+
+ * io/ftwtest-sh: Also trap on exit to remove temporary files.
+
2015-10-21 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/i386/libc-do-syscall.S: Replace
diff --git a/io/ftwtest-sh b/io/ftwtest-sh
index 478171d..8669eab 100644
--- a/io/ftwtest-sh
+++ b/io/ftwtest-sh
@@ -45,7 +45,7 @@ export LC_ALL
tmp=${objpfx}io
tmpdir=$tmp/ftwtest.d
-trap 'chmod -fR a+x $tmpdir; rm -fr $tmpdir $testout' 1 2 3 15
+trap 'chmod -fR a+x $tmpdir; rm -fr $tmpdir $testout' 0 1 2 3 15
if test -d $tmpdir; then
chmod -fR a+x $tmpdir
@@ -296,4 +296,6 @@ rm $testout
rm -fr $tmpdir
+trap '' 0
+
exit 0