Module Name: src Committed By: bouyer Date: Wed Feb 2 21:01:09 UTC 2011
Modified Files: src/tests/fs/ffs [bouyer-quota2]: t_quotalimit.sh Log Message: Check that a new id properly get limits from the defaults. To generate a diff of this commit: cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/tests/fs/ffs/t_quotalimit.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/fs/ffs/t_quotalimit.sh diff -u src/tests/fs/ffs/t_quotalimit.sh:1.1.2.1 src/tests/fs/ffs/t_quotalimit.sh:1.1.2.2 --- src/tests/fs/ffs/t_quotalimit.sh:1.1.2.1 Wed Feb 2 19:17:08 2011 +++ src/tests/fs/ffs/t_quotalimit.sh Wed Feb 2 21:01:08 2011 @@ -1,4 +1,4 @@ -# $NetBSD: t_quotalimit.sh,v 1.1.2.1 2011/02/02 19:17:08 bouyer Exp $ +# $NetBSD: t_quotalimit.sh,v 1.1.2.2 2011/02/02 21:01:08 bouyer Exp $ # # Copyright (c) 2011 Manuel Bouyer # All rights reserved. @@ -36,6 +36,10 @@ "hit hard limit ino quota with ${q} enabled" ${e} ${v} ${q} test_case_root sinolimit_${e}_${v}_${q} limit_softiquota \ "hit soft limit ino quota with ${q} enabled after grace time" ${e} ${v} ${q} + test_case_root herit_defq_${e}_${v}_${q} inherit_defaultquota \ + "new id herit from default for ${q} quota" ${e} ${v} ${q} + test_case_root herit_idefq_${e}_${v}_${q} inherit_defaultiquota \ + "new id herit from default for ${q} ino quota" ${e} ${v} ${q} done done done @@ -227,3 +231,107 @@ done rump_shutdown } + +inherit_defaultquota() +{ + create_with_quotas_server $* + local q=$3 + local expect + local id=1 + + case ${q} in + user) + expect=u + fail=g + ;; + group) + expect=g + fail=u + ;; + both) + expect="u g" + fail="" + ;; + *) + atf_fail "wrong quota type" + ;; + esac + + for q in ${expect} ; do + atf_check -s exit:0 \ + $(atf_get_srcdir)/rump_edquota -$q -s2k/4 -h3k/6 \ + -t 2h/2h -d + done + for q in ${expect} ; do + atf_check -s exit:0 \ + -o match:'Disk quotas for .*id 1\): none' \ + $(atf_get_srcdir)/rump_quota -$q -v ${id} + done + atf_check -s exit:0 rump.halt + + #now start the server which does the limits tests + atf_check -s exit:0 -o ignore \ +-e match:'test 0: write up to hard limit returned 69: Disc quota exceeded' \ + $(atf_get_srcdir)/h_quota2_tests -b 0 ${IMG} ${RUMP_SERVER} + for q in ${expect} ; do + atf_check -s exit:0 \ + -o match:'/mnt 2560 B\* 2048 B 3072 B 2:0 2 4 6 ' \ + $(atf_get_srcdir)/rump_quota -$q -h ${id} + atf_check -s exit:0 \ + -o match:'daemon \+- 2 2 3 2:0 2 4 6' \ + $(atf_get_srcdir)/rump_repquota -$q /mnt + done + rump_shutdown +} + +inherit_defaultiquota() +{ + create_with_quotas_server $* + local q=$3 + local expect + local id=1 + + case ${q} in + user) + expect=u + fail=g + ;; + group) + expect=g + fail=u + ;; + both) + expect="u g" + fail="" + ;; + *) + atf_fail "wrong quota type" + ;; + esac + + for q in ${expect} ; do + atf_check -s exit:0 \ + $(atf_get_srcdir)/rump_edquota -$q -s2m/4 -h3m/6 \ + -t 2h/2h -d + done + for q in ${expect} ; do + atf_check -s exit:0 \ + -o match:'Disk quotas for .*id 1\): none' \ + $(atf_get_srcdir)/rump_quota -$q -v ${id} + done + atf_check -s exit:0 rump.halt + + #now start the server which does the limits tests + atf_check -s exit:0 -o ignore \ +-e match:'test 2: create file up to hard limit returned 69: Disc quota exceeded' \ + $(atf_get_srcdir)/h_quota2_tests -b 2 ${IMG} ${RUMP_SERVER} + for q in ${expect} ; do + atf_check -s exit:0 \ + -o match:'/mnt 2560 B 2048 K 3072 K 5 \* 4 6 2:0' \ + $(atf_get_srcdir)/rump_quota -$q -h ${id} + atf_check -s exit:0 \ + -o match:'daemon -\+ 2 2048 3072 5 4 6 2:0' \ + $(atf_get_srcdir)/rump_repquota -$q /mnt + done + rump_shutdown +}