aboutsummaryrefslogtreecommitdiff
path: root/tests/rename/15.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rename/15.t')
-rw-r--r--tests/rename/15.t34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/rename/15.t b/tests/rename/15.t
new file mode 100644
index 000000000000..4fc9afbf49bc
--- /dev/null
+++ b/tests/rename/15.t
@@ -0,0 +1,34 @@
+#!/bin/sh
+# $FreeBSD: head/tools/regression/pjdfstest/tests/rename/15.t 211352 2010-08-15 21:24:17Z pjd $
+
+desc="rename returns EXDEV if the link named by 'to' and the file named by 'from' are on different file systems"
+
+dir=`dirname $0`
+. ${dir}/../misc.sh
+
+[ "${os}" = "FreeBSD" ] || quick_exit
+
+echo "1..23"
+
+n0=`namegen`
+n1=`namegen`
+n2=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+
+for type in regular dir fifo block char socket symlink; do
+ create_file ${type} ${n0}/${n1}
+ expect EXDEV rename ${n0}/${n1} ${n2}
+ if [ "${type}" = "dir" ]; then
+ expect 0 rmdir ${n0}/${n1}
+ else
+ expect 0 unlink ${n0}/${n1}
+ fi
+done
+
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}