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	rm -f ${curdir}/lower_dir/afile
16	touch ${curdir}/lower_dir/afile
17
18	atf_check -e ignore -o ignore -s exit:0		\
19		${helper} ${curdir}/${1}/afile ${curdir}/${2}/afile
20}
21
22nullmnt_common_cleanup()
23{
24	curdir=$(pwd)
25	umount ${curdir}/upper_dir
26	rm -rf ${curdir}/lower_dir ${curdir}/upper_dir
27}
28
29atf_test_case nullmnt_upper_lower cleanup
30nullmnt_upper_lower_head()
31{
32	atf_set "descr" "ensure upper fs events seen on lower fs"
33	atf_set "require.user" "root"
34}
35nullmnt_upper_lower_body()
36{
37	nullmnt_common lower_dir upper_dir
38} 
39nullmnt_upper_lower_cleanup()
40{
41	nullmnt_common_cleanup
42}
43
44atf_test_case nullmnt_upper_upper cleanup
45nullmnt_upper_upper_head()
46{
47	atf_set "descr" "ensure upper fs events seen on upper fs"
48	atf_set "require.user" "root"
49}
50nullmnt_upper_upper_body()
51{
52	nullmnt_common upper_dir upper_dir
53} 
54nullmnt_upper_upper_cleanup()
55{
56	nullmnt_common_cleanup
57}
58atf_test_case nullmnt_lower_upper cleanup
59nullmnt_lower_upper_head()
60{
61	atf_set "descr" "ensure lower fs events seen on upper fs"
62	atf_set "require.user" "root"
63}
64nullmnt_lower_upper_body()
65{
66	nullmnt_common upper_dir lower_dir
67} 
68nullmnt_lower_upper_cleanup()
69{
70	nullmnt_common_cleanup
71}
72
73atf_test_case nullmnt_lower_lower cleanup
74nullmnt_lower_lower_head()
75{
76	atf_set "descr" "ensure lower fs events seen on lower fs"
77	atf_set "require.user" "root"
78}
79nullmnt_lower_lower_body()
80{
81	nullmnt_common lower_dir lower_dir
82} 
83nullmnt_lower_lower_cleanup()
84{
85	nullmnt_common_cleanup
86}
87
88atf_init_test_cases()
89{
90	atf_add_test_case nullmnt_upper_upper
91	atf_add_test_case nullmnt_upper_lower
92	atf_add_test_case nullmnt_lower_upper
93	atf_add_test_case nullmnt_lower_lower
94}
95