t_nullmnt.sh revision 1.8
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.8Smartin	mount -t null ${curdir}/lower_dir ${curdir}/upper_dir || \
151.8Smartin		atf_skip "nullfs not supported"
161.3Spgoyette	rm -f ${curdir}/lower_dir/afile
171.3Spgoyette	touch ${curdir}/lower_dir/afile
181.1Spgoyette
191.3Spgoyette	atf_check -e ignore -o ignore -s exit:0		\
201.4Spgoyette		${helper} ${curdir}/${1}/afile ${curdir}/${2}/afile
211.3Spgoyette}
221.3Spgoyette
231.3Spgoyettenullmnt_common_cleanup()
241.3Spgoyette{
251.3Spgoyette	curdir=$(pwd)
261.3Spgoyette	umount ${curdir}/upper_dir
271.3Spgoyette	rm -rf ${curdir}/lower_dir ${curdir}/upper_dir
281.3Spgoyette}
291.3Spgoyette
301.3Spgoyetteatf_test_case nullmnt_upper_lower cleanup
311.3Spgoyettenullmnt_upper_lower_head()
321.3Spgoyette{
331.3Spgoyette	atf_set "descr" "ensure upper fs events seen on lower fs"
341.7Sriastrad	atf_set "require.user" "root"
351.3Spgoyette}
361.3Spgoyettenullmnt_upper_lower_body()
371.3Spgoyette{
381.4Spgoyette	nullmnt_common lower_dir upper_dir
391.3Spgoyette} 
401.3Spgoyettenullmnt_upper_lower_cleanup()
411.3Spgoyette{
421.3Spgoyette	nullmnt_common_cleanup
431.3Spgoyette}
441.1Spgoyette
451.3Spgoyetteatf_test_case nullmnt_upper_upper cleanup
461.3Spgoyettenullmnt_upper_upper_head()
471.3Spgoyette{
481.3Spgoyette	atf_set "descr" "ensure upper fs events seen on upper fs"
491.7Sriastrad	atf_set "require.user" "root"
501.3Spgoyette}
511.3Spgoyettenullmnt_upper_upper_body()
521.3Spgoyette{
531.4Spgoyette	nullmnt_common upper_dir upper_dir
541.3Spgoyette} 
551.3Spgoyettenullmnt_upper_upper_cleanup()
561.3Spgoyette{
571.3Spgoyette	nullmnt_common_cleanup
581.3Spgoyette}
591.3Spgoyetteatf_test_case nullmnt_lower_upper cleanup
601.3Spgoyettenullmnt_lower_upper_head()
611.3Spgoyette{
621.3Spgoyette	atf_set "descr" "ensure lower fs events seen on upper fs"
631.7Sriastrad	atf_set "require.user" "root"
641.3Spgoyette}
651.3Spgoyettenullmnt_lower_upper_body()
661.3Spgoyette{
671.4Spgoyette	nullmnt_common upper_dir lower_dir
681.3Spgoyette} 
691.3Spgoyettenullmnt_lower_upper_cleanup()
701.3Spgoyette{
711.3Spgoyette	nullmnt_common_cleanup
721.3Spgoyette}
731.1Spgoyette
741.3Spgoyetteatf_test_case nullmnt_lower_lower cleanup
751.3Spgoyettenullmnt_lower_lower_head()
761.3Spgoyette{
771.3Spgoyette	atf_set "descr" "ensure lower fs events seen on lower fs"
781.7Sriastrad	atf_set "require.user" "root"
791.3Spgoyette}
801.3Spgoyettenullmnt_lower_lower_body()
811.3Spgoyette{
821.4Spgoyette	nullmnt_common lower_dir lower_dir
831.1Spgoyette} 
841.5Spgoyettenullmnt_lower_lower_cleanup()
851.1Spgoyette{
861.5Spgoyette	nullmnt_common_cleanup
871.1Spgoyette}
881.1Spgoyette
891.1Spgoyetteatf_init_test_cases()
901.1Spgoyette{
911.3Spgoyette	atf_add_test_case nullmnt_upper_upper
921.3Spgoyette	atf_add_test_case nullmnt_upper_lower
931.3Spgoyette	atf_add_test_case nullmnt_lower_upper
941.3Spgoyette	atf_add_test_case nullmnt_lower_lower
951.1Spgoyette}
96