minix/tests/fs/ffs/ffs_common.sh
Lionel Sambuc 84d9c625bf Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC)
- Fix for possible unset uid/gid in toproto
 - Fix for default mtree style
 - Update libelf
 - Importing libexecinfo
 - Resynchronize GCC, mpc, gmp, mpfr
 - build.sh: Replace params with show-params.
     This has been done as the make target has been renamed in the same
     way, while a new target named params has been added. This new
     target generates a file containing all the parameters, instead of
     printing it on the console.
 - Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org)
     get getservbyport() out of the inner loop

Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
2014-07-28 17:05:06 +02:00

100 lines
2.1 KiB
Bash

# $NetBSD: ffs_common.sh,v 1.2 2013/07/29 13:15:24 skrll Exp $
create_ffs()
{
local endian=$1; shift
local vers=$1; shift
local type=$1; shift
local op;
if [ ${type} = "both" ]; then
op="-q user -q group"
else
op="-q ${type}"
fi
atf_check -o ignore -e ignore newfs ${op} \
-B ${endian} -O ${vers} -s 4000 -F ${IMG}
}
create_ffs_server()
{
local sarg=$1; shift
create_ffs $*
atf_check -o ignore -e ignore $(atf_get_srcdir)/h_ffs_server \
${sarg} ${IMG} ${RUMP_SERVER}
}
rump_shutdown()
{
for s in ${RUMP_SOCKETS_LIST}; do
atf_check -s exit:0 env RUMP_SERVER=unix://${s} rump.halt;
done
# check that the quota inode creation didn't corrupt the filesystem
atf_check -s exit:0 -o "match:already clean" \
-o "match:Phase 6 - Check Quotas" \
fsck_ffs -nf -F ${IMG}
}
# from tests/ipf/h_common.sh via tests/sbin/resize_ffs
test_case()
{
local name="${1}"; shift
local check_function="${1}"; shift
local descr="${1}"; shift
atf_test_case "${name}" cleanup
eval "${name}_head() { \
atf_set "descr" "${descr}"
atf_set "timeout" "60"
}"
eval "${name}_body() { \
RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
${check_function} " "${@}" "; \
}"
eval "${name}_cleanup() { \
for s in \${RUMP_SOCKETS_LIST}; do \
export RUMP_SERVER=unix://\${s}; \
atf_check -s exit:1 -o ignore -e ignore rump.halt; \
done; \
}"
tests="${tests} ${name}"
}
test_case_root()
{
local name="${1}"; shift
local check_function="${1}"; shift
local descr="${1}"; shift
atf_test_case "${name}" cleanup
eval "${name}_head() { \
atf_set "descr" "${descr}"
atf_set "require.user" "root"
atf_set "timeout" "360"
}"
eval "${name}_body() { \
RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
${check_function} " "${@}" "; \
}"
eval "${name}_cleanup() { \
for s in \${RUMP_SOCKETS_LIST}; do \
export RUMP_SERVER=unix://\${s}; \
atf_check -s exit:1 -o ignore -e ignore rump.halt; \
done; \
}"
tests="${tests} ${name}"
}
atf_init_test_cases()
{
IMG=fsimage
DIR=target
RUMP_SOCKET=test;
for i in ${tests}; do
atf_add_test_case $i
done
}