Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tests/sbin/resize_ffs Switch from using "rump_ffs" to mount ...
details: https://anonhg.NetBSD.org/src/rev/f83421998454
branches: trunk
changeset: 762858:f83421998454
user: riz <riz%NetBSD.org@localhost>
date: Thu Mar 03 16:25:15 2011 +0000
description:
Switch from using "rump_ffs" to mount the file system image to
using a rump_server to mount it in a rump kernel, and librumphijack.so
to enable accessing it from the test program. Among other things,
this allows the tests to run as an unprivileged user.
diffstat:
tests/sbin/resize_ffs/common.sh | 43 +++++++++++++++++++++++++++++-----------
1 files changed, 31 insertions(+), 12 deletions(-)
diffs (120 lines):
diff -r 3e6266bcfd81 -r f83421998454 tests/sbin/resize_ffs/common.sh
--- a/tests/sbin/resize_ffs/common.sh Thu Mar 03 14:53:01 2011 +0000
+++ b/tests/sbin/resize_ffs/common.sh Thu Mar 03 16:25:15 2011 +0000
@@ -14,6 +14,8 @@
else
BYTESWAP=le
fi
+ rumpsrv="rump_server -lrumpvfs -lrumpfs_ffs -d key=/img,hostpath=${IMG},size=host"
+ export RUMP_SERVER=unix://sock
}
# test_case() taken from the tests/ipf/h_common.sh
@@ -25,14 +27,13 @@
atf_test_case "${name}" cleanup
eval "${name}_head() { \
- atf_set "require.user" "root" ; \
+ atf_set "descr" "resize_ffs test" ; \
}"
eval "${name}_body() { \
${check_function} " "${@}" "; \
}"
eval "${name}_cleanup() { \
- umount -f mnt ; \
- : reset error ; \
+ rump.halt
}"
}
@@ -57,7 +58,7 @@
# copy_data requires the mount already done; makes one copy of the test data
copy_data ()
{
- uudecode -p ${TDBASE64} | (cd mnt; tar xzf - -s/testdata/TD$1/)
+ uudecode -p ${TDBASE64} | tar xzf - -C /rump/mnt -s/testdata/TD$1/
}
copy_multiple ()
@@ -72,7 +73,7 @@
# is to ensure data exists near the end of the fs under test.
remove_data ()
{
- rm -rf mnt/TD$1
+ rm -rf /rump/mnt/TD$1
}
remove_multiple ()
@@ -87,8 +88,8 @@
# generated md5 file doesn't need explicit cleanup thanks to ATF
check_data ()
{
- (cd mnt/TD$1 && md5 *) > TD$1.md5
- atf_check diff -u ${GOODMD5} TD$1.md5
+ atf_check -x -o file:${GOODMD5} \
+ "md5 /rump/mnt/TD$1/* | sed s,/rump/mnt/TD$1/,,"
}
# supply begin and end arguments
@@ -100,6 +101,15 @@
done
}
+domount ()
+{
+ atf_check -s exit:0 -e ignore mount_ffs /img /rump/mnt
+}
+
+dounmount ()
+{
+ atf_check -s exit:0 umount -R /rump/mnt
+}
resize_ffs()
{
@@ -111,7 +121,6 @@
local fslevel=$5
local numdata=$6
local swap=$7
- mkdir -p mnt
echo "bs is ${bs} numdata is ${numdata}"
echo "****resizing fs with blocksize ${bs}"
@@ -130,7 +139,12 @@
fi
# we're specifying relative paths, so rump_ffs warns - ignore.
- atf_check -s exit:0 -e ignore rump_ffs ${IMG} mnt
+ echo RUMP_SERVER is ${RUMP_SERVER}
+ atf_check -s exit:0 ${rumpsrv} ${RUMP_SERVER}
+ export LD_PRELOAD=/usr/lib/librumphijack.so
+ mkdir /rump/mnt
+ domount
+
copy_multiple ${numdata}
if [ ${nsize} -lt ${osize} ]; then
@@ -141,15 +155,20 @@
remove_multiple ${remove}
fi
- umount mnt
+ dounmount
+ rump.halt
+ unset LD_PRELOAD
atf_check -s exit:0 -o ignore resize_ffs -y -s ${nsize} ${IMG}
atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
- atf_check -s exit:0 -e ignore rump_ffs ${IMG} mnt
+ atf_check -s exit:0 ${rumpsrv} ${RUMP_SERVER}
+ export LD_PRELOAD=/usr/lib/librumphijack.so
+ mkdir /rump/mnt
+ domount
if [ ${nsize} -lt ${osize} ]; then
check_data_range $((remove + 1)) ${numdata}
else
# checking everything because we don't delete on grow
check_data_range 1 ${numdata}
fi
- umount mnt
+ dounmount
}
Home |
Main Index |
Thread Index |
Old Index