1# $NetBSD: ffs_common.sh,v 1.5 2020/08/20 07:23:20 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}"
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	tests="${tests} ${name}"
45}
46
47test_case_root()
48{
49	local name="${1}"; shift
50	local check_function="${1}"; shift
51	local descr="${1}"; shift
52	
53	atf_test_case "${name}"
54
55	eval "${name}_head() { \
56		atf_set "descr" "${descr}"
57		atf_set "require.user" "root"
58		atf_set "timeout" "360"
59	}"
60	eval "${name}_body() { \
61		RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
62		export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
63		${check_function} " "${@}" "; \
64	}"
65	tests="${tests} ${name}"
66}
67
68atf_init_test_cases()
69{
70	IMG=fsimage
71	DIR=target
72	RUMP_SOCKET=test;
73	for i in ${tests}; do
74		atf_add_test_case $i
75	done
76}
77