Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/bouyer-quota2]: src/tests/fs/ffs Add a test which cause the kernel to wa...
details: https://anonhg.NetBSD.org/src/rev/eafa86c6548a
branches: bouyer-quota2
changeset: 761163:eafa86c6548a
user: bouyer <bouyer%NetBSD.org@localhost>
date: Fri Feb 11 16:54:03 2011 +0000
description:
Add a test which cause the kernel to walk a quota list where all entries
are not in the header disk block, and at last 2 of them are in the same
non-header disk block.
diffstat:
tests/fs/ffs/Makefile | 4 +-
tests/fs/ffs/t_getquota.sh | 27 ++++++++++++++++++-
tests/fs/ffs/t_miscquota.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 91 insertions(+), 3 deletions(-)
diffs (123 lines):
diff -r 62e28d663ccf -r eafa86c6548a tests/fs/ffs/Makefile
--- a/tests/fs/ffs/Makefile Fri Feb 11 15:05:35 2011 +0000
+++ b/tests/fs/ffs/Makefile Fri Feb 11 16:54:03 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.14.2.6 2011/02/09 20:53:10 bouyer Exp $
+# $NetBSD: Makefile,v 1.14.2.7 2011/02/11 16:54:03 bouyer Exp $
#
.include <bsd.own.mk>
@@ -17,7 +17,7 @@
MAN.h_quota2_tests= # empty
BINDIR.h_quota2_tests= ${TESTSDIR}
-.for name in t_getquota t_setquota t_quotalimit t_clearquota
+.for name in t_getquota t_setquota t_quotalimit t_clearquota t_miscquota
TESTS_SH+= ${name}
TESTS_SH_SRC_${name}= quotas_common.sh ${name}.sh
.endfor
diff -r 62e28d663ccf -r eafa86c6548a tests/fs/ffs/t_getquota.sh
--- a/tests/fs/ffs/t_getquota.sh Fri Feb 11 15:05:35 2011 +0000
+++ b/tests/fs/ffs/t_getquota.sh Fri Feb 11 16:54:03 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: t_getquota.sh,v 1.1.2.7 2011/02/07 16:22:50 bouyer Exp $
+# $NetBSD: t_getquota.sh,v 1.1.2.8 2011/02/11 16:54:03 bouyer Exp $
#
# Copyright (c) 2011 Manuel Bouyer
# All rights reserved.
@@ -84,3 +84,28 @@
done
rump_shutdown
}
+
+quota_walk_list()
+{
+ create_with_quotas_server $*
+ local q=$4
+ local expect
+
+ case ${q} in
+ user)
+ expect=u
+ fail=g
+ ;;
+ group)
+ expect=g
+ fail=u
+ ;;
+ both)
+ expect="u g"
+ fail=""
+ ;;
+ *)
+ atf_fail "wrong quota type"
+ ;;
+ esac
+}
diff -r 62e28d663ccf -r eafa86c6548a tests/fs/ffs/t_miscquota.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/fs/ffs/t_miscquota.sh Fri Feb 11 16:54:03 2011 +0000
@@ -0,0 +1,63 @@
+# $NetBSD: t_miscquota.sh,v 1.1.2.1 2011/02/11 16:54:03 bouyer Exp $
+#
+# Copyright (c) 2011 Manuel Bouyer
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+test_case walk_list_user quota_walk_list \
+ "walk user quota list over several disk blocks" -b le 1 user
+
+quota_walk_list()
+{
+ create_with_quotas_server $*
+ local q=$4
+ local expect
+
+ case ${q} in
+ user)
+ expect=u
+ fail=g
+ ;;
+ group)
+ expect=g
+ fail=u
+ ;;
+ *)
+ atf_fail "wrong quota type"
+ ;;
+ esac
+
+ # create 100 users, all in the same hash list
+ local i=1;
+ while [ $i -lt 101 ]; do
+ atf_check -s exit:0 \
+ $(atf_get_srcdir)/rump_edquota -${expect} \
+ -s10k/20 -h40M/50k -t 2W/3D $((i * 4096))
+ i=$((i + 1))
+ done
+ # do a repquota
+ atf_check -s exit:0 -o 'match:<integer>0x64000' \
+ $(atf_get_srcdir)/rump_repquota -x -${expect} /mnt
+ rump_shutdown
+}
Home |
Main Index |
Thread Index |
Old Index