t_miscquota.sh revision 1.1.2.1 1 # $NetBSD: t_miscquota.sh,v 1.1.2.1 2011/02/11 16:54:03 bouyer Exp $
2 #
3 # Copyright (c) 2011 Manuel Bouyer
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14 #
15 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 # POSSIBILITY OF SUCH DAMAGE.
26 #
27
28 test_case walk_list_user quota_walk_list \
29 "walk user quota list over several disk blocks" -b le 1 user
30
31 quota_walk_list()
32 {
33 create_with_quotas_server $*
34 local q=$4
35 local expect
36
37 case ${q} in
38 user)
39 expect=u
40 fail=g
41 ;;
42 group)
43 expect=g
44 fail=u
45 ;;
46 *)
47 atf_fail "wrong quota type"
48 ;;
49 esac
50
51 # create 100 users, all in the same hash list
52 local i=1;
53 while [ $i -lt 101 ]; do
54 atf_check -s exit:0 \
55 $(atf_get_srcdir)/rump_edquota -${expect} \
56 -s10k/20 -h40M/50k -t 2W/3D $((i * 4096))
57 i=$((i + 1))
58 done
59 # do a repquota
60 atf_check -s exit:0 -o 'match:<integer>0x64000' \
61 $(atf_get_srcdir)/rump_repquota -x -${expect} /mnt
62 rump_shutdown
63 }
64