t_nullmnt.sh revision 1.8
1# find where everything lives
2
3curdir=$(pwd)
4helper=$(atf_get_srcdir)/h_nullmnt
5
6# common test body
7#    $1 = directory of file to monitor
8#    $2 = directory of file to update/modify
9
10nullmnt_common()
11{    
12	mkdir ${curdir}/lower_dir
13	mkdir ${curdir}/upper_dir
14	mount -t null ${curdir}/lower_dir ${curdir}/upper_dir || \
15		atf_skip "nullfs not supported"
16	rm -f ${curdir}/lower_dir/afile
17	touch ${curdir}/lower_dir/afile
18
19	atf_check -e ignore -o ignore -s exit:0		\
20		${helper} ${curdir}/${1}/afile ${curdir}/${2}/afile
21}
22
23nullmnt_common_cleanup()
24{
25	curdir=$(pwd)
26	umount ${curdir}/upper_dir
27	rm -rf ${curdir}/lower_dir ${curdir}/upper_dir
28}
29
30atf_test_case nullmnt_upper_lower cleanup
31nullmnt_upper_lower_head()
32{
33	atf_set "descr" "ensure upper fs events seen on lower fs"
34	atf_set "require.user" "root"
35}
36nullmnt_upper_lower_body()
37{
38	nullmnt_common lower_dir upper_dir
39} 
40nullmnt_upper_lower_cleanup()
41{
42	nullmnt_common_cleanup
43}
44
45atf_test_case nullmnt_upper_upper cleanup
46nullmnt_upper_upper_head()
47{
48	atf_set "descr" "ensure upper fs events seen on upper fs"
49	atf_set "require.user" "root"
50}
51nullmnt_upper_upper_body()
52{
53	nullmnt_common upper_dir upper_dir
54} 
55nullmnt_upper_upper_cleanup()
56{
57	nullmnt_common_cleanup
58}
59atf_test_case nullmnt_lower_upper cleanup
60nullmnt_lower_upper_head()
61{
62	atf_set "descr" "ensure lower fs events seen on upper fs"
63	atf_set "require.user" "root"
64}
65nullmnt_lower_upper_body()
66{
67	nullmnt_common upper_dir lower_dir
68} 
69nullmnt_lower_upper_cleanup()
70{
71	nullmnt_common_cleanup
72}
73
74atf_test_case nullmnt_lower_lower cleanup
75nullmnt_lower_lower_head()
76{
77	atf_set "descr" "ensure lower fs events seen on lower fs"
78	atf_set "require.user" "root"
79}
80nullmnt_lower_lower_body()
81{
82	nullmnt_common lower_dir lower_dir
83} 
84nullmnt_lower_lower_cleanup()
85{
86	nullmnt_common_cleanup
87}
88
89atf_init_test_cases()
90{
91	atf_add_test_case nullmnt_upper_upper
92	atf_add_test_case nullmnt_upper_lower
93	atf_add_test_case nullmnt_lower_upper
94	atf_add_test_case nullmnt_lower_lower
95}
96