ffs_common.sh revision 1.4
1# $NetBSD: ffs_common.sh,v 1.4 2020/08/17 06:18:39 gson Exp $ 
2
3create_ffs()
4{
5	local endian=$1; shift
6	local vers=$1; shift
7	local type=$1; shift
8	local op;
9	if [ ${type} = "both" ]; then
10		op="-q user -q group"
11	else
12		op="-q ${type}"
13	fi
14	atf_check -o ignore -e ignore newfs ${op} \
15		-B ${endian} -O ${vers} -s 4000 -F ${IMG}
16}
17
18create_ffs_server()
19{	
20	local sarg=$1; shift
21	create_ffs $*
22	atf_check -o ignore -e ignore $(atf_get_srcdir)/h_ffs_server \
23		${sarg} ${IMG} ${RUMP_SERVER}
24}
25
26# from tests/ipf/h_common.sh via tests/sbin/resize_ffs
27test_case()
28{
29	local name="${1}"; shift
30	local check_function="${1}"; shift
31	local descr="${1}"; shift
32	
33	atf_test_case "${name}" cleanup
34
35	eval "${name}_head() { \
36		atf_set "descr" "${descr}"
37		atf_set "timeout" "120"
38	}"
39	eval "${name}_body() { \
40		RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
41		export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
42		${check_function} " "${@}" "; \
43	}"
44	eval "${name}_cleanup() { \
45		for s in \${RUMP_SOCKETS_LIST}; do \
46			export RUMP_SERVER=unix://\${s}; \
47			atf_check -s exit:1 -o ignore -e ignore rump.halt; \
48		done; \
49	}"
50	tests="${tests} ${name}"
51}
52
53test_case_root()
54{
55	local name="${1}"; shift
56	local check_function="${1}"; shift
57	local descr="${1}"; shift
58	
59	atf_test_case "${name}" cleanup
60
61	eval "${name}_head() { \
62		atf_set "descr" "${descr}"
63		atf_set "require.user" "root"
64		atf_set "timeout" "360"
65	}"
66	eval "${name}_body() { \
67		RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
68		export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
69		${check_function} " "${@}" "; \
70	}"
71	eval "${name}_cleanup() { \
72		for s in \${RUMP_SOCKETS_LIST}; do \
73			export RUMP_SERVER=unix://\${s}; \
74			atf_check -s exit:1 -o ignore -e ignore rump.halt; \
75		done; \
76	}"
77	tests="${tests} ${name}"
78}
79
80atf_init_test_cases()
81{
82	IMG=fsimage
83	DIR=target
84	RUMP_SOCKET=test;
85	for i in ${tests}; do
86		atf_add_test_case $i
87	done
88}
89