t_nullmnt.sh revision 1.4
11.4Spgoyette# find where everything lives
21.4Spgoyette
31.4Spgoyettecurdir=$(pwd)
41.4Spgoyettehelper=$(atf_get_srcdir)/h_nullmnt
51.4Spgoyette
61.3Spgoyette# common test body
71.4Spgoyette#    $1 = directory of file to monitor
81.4Spgoyette#    $2 = directory of file to update/modify
91.1Spgoyette
101.3Spgoyettenullmnt_common()
111.1Spgoyette{    
121.3Spgoyette	mkdir ${curdir}/lower_dir
131.3Spgoyette	mkdir ${curdir}/upper_dir
141.3Spgoyette	mount -t null ${curdir}/lower_dir ${curdir}/upper_dir
151.3Spgoyette	rm -f ${curdir}/lower_dir/afile
161.3Spgoyette	touch ${curdir}/lower_dir/afile
171.1Spgoyette
181.3Spgoyette	atf_check -e ignore -o ignore -s exit:0		\
191.4Spgoyette		${helper} ${curdir}/${1}/afile ${curdir}/${2}/afile
201.3Spgoyette}
211.3Spgoyette
221.3Spgoyettenullmnt_common_cleanup()
231.3Spgoyette{
241.3Spgoyette	curdir=$(pwd)
251.3Spgoyette	umount ${curdir}/upper_dir
261.3Spgoyette	rm -rf ${curdir}/lower_dir ${curdir}/upper_dir
271.3Spgoyette}
281.3Spgoyette
291.3Spgoyetteatf_test_case nullmnt_upper_lower cleanup
301.3Spgoyettenullmnt_upper_lower_head()
311.3Spgoyette{
321.3Spgoyette	atf_set "descr" "ensure upper fs events seen on lower fs"
331.3Spgoyette}
341.3Spgoyettenullmnt_upper_lower_body()
351.3Spgoyette{
361.1Spgoyette	atf_expect_fail "PR kern/56713"
371.4Spgoyette	nullmnt_common lower_dir upper_dir
381.3Spgoyette} 
391.3Spgoyettenullmnt_upper_lower_cleanup()
401.3Spgoyette{
411.3Spgoyette	nullmnt_common_cleanup
421.3Spgoyette}
431.1Spgoyette
441.3Spgoyetteatf_test_case nullmnt_upper_upper cleanup
451.3Spgoyettenullmnt_upper_upper_head()
461.3Spgoyette{
471.3Spgoyette	atf_set "descr" "ensure upper fs events seen on upper fs"
481.3Spgoyette}
491.3Spgoyettenullmnt_upper_upper_body()
501.3Spgoyette{
511.3Spgoyette	atf_expect_fail "PR kern/56713"
521.4Spgoyette	nullmnt_common upper_dir upper_dir
531.3Spgoyette} 
541.3Spgoyettenullmnt_upper_upper_cleanup()
551.3Spgoyette{
561.3Spgoyette	nullmnt_common_cleanup
571.3Spgoyette}
581.3Spgoyetteatf_test_case nullmnt_lower_upper cleanup
591.3Spgoyettenullmnt_lower_upper_head()
601.3Spgoyette{
611.3Spgoyette	atf_set "descr" "ensure lower fs events seen on upper fs"
621.3Spgoyette}
631.3Spgoyettenullmnt_lower_upper_body()
641.3Spgoyette{
651.4Spgoyette	nullmnt_common upper_dir lower_dir
661.3Spgoyette} 
671.3Spgoyettenullmnt_lower_upper_cleanup()
681.3Spgoyette{
691.3Spgoyette	nullmnt_common_cleanup
701.3Spgoyette}
711.1Spgoyette
721.3Spgoyetteatf_test_case nullmnt_lower_lower cleanup
731.3Spgoyettenullmnt_lower_lower_head()
741.3Spgoyette{
751.3Spgoyette	atf_set "descr" "ensure lower fs events seen on lower fs"
761.3Spgoyette}
771.3Spgoyettenullmnt_lower_lower_body()
781.3Spgoyette{
791.4Spgoyette	nullmnt_common lower_dir lower_dir
801.1Spgoyette} 
811.3Spgoyettenullmnt_lower_lower_cleanup
821.1Spgoyette{
831.3Spgoyette	nullmnt_common_cleanup()
841.1Spgoyette}
851.1Spgoyette
861.1Spgoyetteatf_init_test_cases()
871.1Spgoyette{
881.3Spgoyette	atf_add_test_case nullmnt_upper_upper
891.3Spgoyette	atf_add_test_case nullmnt_upper_lower
901.3Spgoyette	atf_add_test_case nullmnt_lower_upper
911.3Spgoyette	atf_add_test_case nullmnt_lower_lower
921.1Spgoyette}
93