t_nullmnt.sh revision 1.7
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.7Sriastrad	atf_set "require.user" "root"
341.3Spgoyette}
351.3Spgoyettenullmnt_upper_lower_body()
361.3Spgoyette{
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.7Sriastrad	atf_set "require.user" "root"
491.3Spgoyette}
501.3Spgoyettenullmnt_upper_upper_body()
511.3Spgoyette{
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.7Sriastrad	atf_set "require.user" "root"
631.3Spgoyette}
641.3Spgoyettenullmnt_lower_upper_body()
651.3Spgoyette{
661.4Spgoyette	nullmnt_common upper_dir lower_dir
671.3Spgoyette} 
681.3Spgoyettenullmnt_lower_upper_cleanup()
691.3Spgoyette{
701.3Spgoyette	nullmnt_common_cleanup
711.3Spgoyette}
721.1Spgoyette
731.3Spgoyetteatf_test_case nullmnt_lower_lower cleanup
741.3Spgoyettenullmnt_lower_lower_head()
751.3Spgoyette{
761.3Spgoyette	atf_set "descr" "ensure lower fs events seen on lower fs"
771.7Sriastrad	atf_set "require.user" "root"
781.3Spgoyette}
791.3Spgoyettenullmnt_lower_lower_body()
801.3Spgoyette{
811.4Spgoyette	nullmnt_common lower_dir lower_dir
821.1Spgoyette} 
831.5Spgoyettenullmnt_lower_lower_cleanup()
841.1Spgoyette{
851.5Spgoyette	nullmnt_common_cleanup
861.1Spgoyette}
871.1Spgoyette
881.1Spgoyetteatf_init_test_cases()
891.1Spgoyette{
901.3Spgoyette	atf_add_test_case nullmnt_upper_upper
911.3Spgoyette	atf_add_test_case nullmnt_upper_lower
921.3Spgoyette	atf_add_test_case nullmnt_lower_upper
931.3Spgoyette	atf_add_test_case nullmnt_lower_lower
941.1Spgoyette}
95