1272343Sngie# $NetBSD: ffs_common.sh,v 1.2 2013/07/29 13:15:24 skrll Exp $ 2272343Sngie 3272343Sngiecreate_ffs() 4272343Sngie{ 5272343Sngie local endian=$1; shift 6272343Sngie local vers=$1; shift 7272343Sngie local type=$1; shift 8272343Sngie local op; 9272343Sngie if [ ${type} = "both" ]; then 10272343Sngie op="-q user -q group" 11272343Sngie else 12272343Sngie op="-q ${type}" 13272343Sngie fi 14272343Sngie atf_check -o ignore -e ignore newfs ${op} \ 15272343Sngie -B ${endian} -O ${vers} -s 4000 -F ${IMG} 16272343Sngie} 17272343Sngie 18272343Sngiecreate_ffs_server() 19272343Sngie{ 20272343Sngie local sarg=$1; shift 21272343Sngie create_ffs $* 22272343Sngie atf_check -o ignore -e ignore $(atf_get_srcdir)/h_ffs_server \ 23272343Sngie ${sarg} ${IMG} ${RUMP_SERVER} 24272343Sngie} 25272343Sngie 26272343Sngierump_shutdown() 27272343Sngie{ 28272343Sngie for s in ${RUMP_SOCKETS_LIST}; do 29272343Sngie atf_check -s exit:0 env RUMP_SERVER=unix://${s} rump.halt; 30272343Sngie done 31272343Sngie# check that the quota inode creation didn't corrupt the filesystem 32272343Sngie atf_check -s exit:0 -o "match:already clean" \ 33272343Sngie -o "match:Phase 6 - Check Quotas" \ 34272343Sngie fsck_ffs -nf -F ${IMG} 35272343Sngie} 36272343Sngie 37272343Sngie# from tests/ipf/h_common.sh via tests/sbin/resize_ffs 38272343Sngietest_case() 39272343Sngie{ 40272343Sngie local name="${1}"; shift 41272343Sngie local check_function="${1}"; shift 42272343Sngie local descr="${1}"; shift 43272343Sngie 44272343Sngie atf_test_case "${name}" cleanup 45272343Sngie 46272343Sngie eval "${name}_head() { \ 47272343Sngie atf_set "descr" "${descr}" 48272343Sngie atf_set "timeout" "60" 49272343Sngie }" 50272343Sngie eval "${name}_body() { \ 51272343Sngie RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \ 52272343Sngie export RUMP_SERVER=unix://\${RUMP_SOCKET}; \ 53272343Sngie ${check_function} " "${@}" "; \ 54272343Sngie }" 55272343Sngie eval "${name}_cleanup() { \ 56272343Sngie for s in \${RUMP_SOCKETS_LIST}; do \ 57272343Sngie export RUMP_SERVER=unix://\${s}; \ 58272343Sngie atf_check -s exit:1 -o ignore -e ignore rump.halt; \ 59272343Sngie done; \ 60272343Sngie }" 61272343Sngie tests="${tests} ${name}" 62272343Sngie} 63272343Sngie 64272343Sngietest_case_root() 65272343Sngie{ 66272343Sngie local name="${1}"; shift 67272343Sngie local check_function="${1}"; shift 68272343Sngie local descr="${1}"; shift 69272343Sngie 70272343Sngie atf_test_case "${name}" cleanup 71272343Sngie 72272343Sngie eval "${name}_head() { \ 73272343Sngie atf_set "descr" "${descr}" 74272343Sngie atf_set "require.user" "root" 75272343Sngie atf_set "timeout" "360" 76272343Sngie }" 77272343Sngie eval "${name}_body() { \ 78272343Sngie RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \ 79272343Sngie export RUMP_SERVER=unix://\${RUMP_SOCKET}; \ 80272343Sngie ${check_function} " "${@}" "; \ 81272343Sngie }" 82272343Sngie eval "${name}_cleanup() { \ 83272343Sngie for s in \${RUMP_SOCKETS_LIST}; do \ 84272343Sngie export RUMP_SERVER=unix://\${s}; \ 85272343Sngie atf_check -s exit:1 -o ignore -e ignore rump.halt; \ 86272343Sngie done; \ 87272343Sngie }" 88272343Sngie tests="${tests} ${name}" 89272343Sngie} 90272343Sngie 91272343Sngieatf_init_test_cases() 92272343Sngie{ 93272343Sngie IMG=fsimage 94272343Sngie DIR=target 95272343Sngie RUMP_SOCKET=test; 96272343Sngie for i in ${tests}; do 97272343Sngie atf_add_test_case $i 98272343Sngie done 99272343Sngie} 100