summaryrefslogtreecommitdiff
path: root/tests/mv/setup
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mv/setup')
-rwxr-xr-xtests/mv/setup36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/mv/setup b/tests/mv/setup
new file mode 100755
index 000000000..907e5176e
--- /dev/null
+++ b/tests/mv/setup
@@ -0,0 +1,36 @@
+#! /bin/sh
+
+# Use df to find a writable directory on a file system different from that
+# of the current directory. If one is found, create a temporary directory
+# inside it.
+
+: ${DF=df}
+: ${MKDIR=mkdir}
+
+# Try these:
+candidate_tmp_dirs="
+ $TMPDIR
+ /tmp
+ /var/tmp
+ /usr/tmp
+ $HOME
+"
+
+other_partition_tmpdir=
+
+# WARNING: using sed like this to extract the mount point will fail
+# if the mount point name contains `% '.
+dot_mount_point=`$DF --no-sync -P . | sed -n '2s/.*% *//p'`
+for d in $candidate_tmp_dirs; do
+ d_mount_point=`$DF --no-sync -P $d | sed -n '2s/.*% *//p'`
+
+ # Same partition? Skip it.
+ test x$d_mount_point = x$dot_mount_point && continue
+
+ # See if we can create a directory in it.
+ if $MKDIR "$d/df-$$" > /dev/null 2>&1; then
+ other_partition_tmpdir="$d/df-$$"
+ break
+ fi
+
+done