t_nullmnt.sh revision 1.3
11.3Spgoyette# common test body
21.3Spgoyette#    $1 = pathname of file to monitor
31.3Spgoyette#    $2 = pathname of file to update/modify
41.1Spgoyette
51.3Spgoyettenullmnt_common()
61.1Spgoyette{    
71.2Spgoyette	curdir=$(pwd)
81.2Spgoyette	helper=$(atf_get_srcdir)/h_nullmnt
91.1Spgoyette
101.3Spgoyette	mkdir ${curdir}/lower_dir
111.3Spgoyette	mkdir ${curdir}/upper_dir
121.3Spgoyette	mount -t null ${curdir}/lower_dir ${curdir}/upper_dir
131.3Spgoyette	rm -f ${curdir}/lower_dir/afile
141.3Spgoyette	touch ${curdir}/lower_dir/afile
151.1Spgoyette
161.3Spgoyette	atf_check -e ignore -o ignore -s exit:0		\
171.3Spgoyette		${helper} ${curdir}/${1} ${curdir}/${2}
181.3Spgoyette}
191.3Spgoyette
201.3Spgoyettenullmnt_common_cleanup()
211.3Spgoyette{
221.3Spgoyette	curdir=$(pwd)
231.3Spgoyette	umount ${curdir}/upper_dir
241.3Spgoyette	rm -rf ${curdir}/lower_dir ${curdir}/upper_dir
251.3Spgoyette}
261.3Spgoyette
271.3Spgoyetteatf_test_case nullmnt_upper_lower cleanup
281.3Spgoyettenullmnt_upper_lower_head()
291.3Spgoyette{
301.3Spgoyette	atf_set "descr" "ensure upper fs events seen on lower fs"
311.3Spgoyette}
321.3Spgoyettenullmnt_upper_lower_body()
331.3Spgoyette{
341.1Spgoyette	atf_expect_fail "PR kern/56713"
351.3Spgoyette	nullmnt_common lower_dir/afile upper_dir/afile
361.3Spgoyette} 
371.3Spgoyettenullmnt_upper_lower_cleanup()
381.3Spgoyette{
391.3Spgoyette	nullmnt_common_cleanup
401.3Spgoyette}
411.1Spgoyette
421.3Spgoyetteatf_test_case nullmnt_upper_upper cleanup
431.3Spgoyettenullmnt_upper_upper_head()
441.3Spgoyette{
451.3Spgoyette	atf_set "descr" "ensure upper fs events seen on upper fs"
461.3Spgoyette}
471.3Spgoyettenullmnt_upper_upper_body()
481.3Spgoyette{
491.3Spgoyette	atf_expect_fail "PR kern/56713"
501.3Spgoyette	nullmnt_common upper_dir/afile upper_dir/afile
511.3Spgoyette} 
521.3Spgoyettenullmnt_upper_upper_cleanup()
531.3Spgoyette{
541.3Spgoyette	nullmnt_common_cleanup
551.3Spgoyette}
561.3Spgoyetteatf_test_case nullmnt_lower_upper cleanup
571.3Spgoyettenullmnt_lower_upper_head()
581.3Spgoyette{
591.3Spgoyette	atf_set "descr" "ensure lower fs events seen on upper fs"
601.3Spgoyette}
611.3Spgoyettenullmnt_lower_upper_body()
621.3Spgoyette{
631.3Spgoyette	nullmnt_common upper_dir/afile lower_dir/afile
641.3Spgoyette} 
651.3Spgoyettenullmnt_lower_upper_cleanup()
661.3Spgoyette{
671.3Spgoyette	nullmnt_common_cleanup
681.3Spgoyette}
691.1Spgoyette
701.3Spgoyetteatf_test_case nullmnt_lower_lower cleanup
711.3Spgoyettenullmnt_lower_lower_head()
721.3Spgoyette{
731.3Spgoyette	atf_set "descr" "ensure lower fs events seen on lower fs"
741.3Spgoyette}
751.3Spgoyettenullmnt_lower_lower_body()
761.3Spgoyette{
771.3Spgoyette	nullmnt_common lower_dir/afile lower_dir/afile
781.1Spgoyette} 
791.3Spgoyettenullmnt_lower_lower_cleanup
801.1Spgoyette{
811.3Spgoyette	nullmnt_common_cleanup()
821.1Spgoyette}
831.1Spgoyette
841.1Spgoyetteatf_init_test_cases()
851.1Spgoyette{
861.3Spgoyette	atf_add_test_case nullmnt_upper_upper
871.3Spgoyette	atf_add_test_case nullmnt_upper_lower
881.3Spgoyette	atf_add_test_case nullmnt_lower_upper
891.3Spgoyette	atf_add_test_case nullmnt_lower_lower
901.1Spgoyette}
91