• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/samba-3.5.8/source4/lib/ldb/tests/
1#!/bin/sh
2
3echo "Running tdb feature tests"
4
5mv $LDB_URL $LDB_URL.2
6
7checkcount() {
8    count=$1
9    expression="$2"
10    n=`$VALGRIND ldbsearch$EXEEXT "$expression" | grep '^dn' | wc -l`
11    if [ $n != $count ]; then
12	echo "Got $n but expected $count for $expression"
13	$VALGRIND ldbsearch$EXEEXT "$expression"
14	exit 1
15    fi
16    echo "OK: $count $expression"
17}
18
19echo "Testing case sensitive search"
20cat <<EOF | $VALGRIND ldbadd$EXEEXT || exit 1
21dn: cn=t1,cn=TEST
22objectClass: testclass
23test: foo
24EOF
25checkcount 1 '(test=foo)'
26checkcount 0 '(test=FOO)'
27checkcount 0 '(test=FO*)'
28
29echo "Making case insensitive"
30cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
31dn: @ATTRIBUTES
32changetype: add
33add: test
34test: CASE_INSENSITIVE
35EOF
36
37echo $ldif | $VALGRIND ldbmodify$EXEEXT || exit 1
38checkcount 1 '(test=foo)'
39checkcount 1 '(test=FOO)'
40checkcount 1 '(test=fo*)'
41
42echo "adding i"
43cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
44dn: cn=t1,cn=TEST
45changetype: modify
46add: i
47i: 0x100
48EOF
49checkcount 1 '(i=0x100)'
50checkcount 0 '(i=256)'
51
52echo "marking i as INTEGER"
53cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
54dn: @ATTRIBUTES
55changetype: modify
56add: i
57i: INTEGER
58EOF
59checkcount 1 '(i=0x100)'
60checkcount 1 '(i=256)'
61
62echo "adding j"
63cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
64dn: cn=t1,cn=TEST
65changetype: modify
66add: j
67j: 0x100
68EOF
69checkcount 1 '(j=0x100)'
70checkcount 0 '(j=256)'
71
72echo "Adding wildcard attribute"
73cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
74dn: @ATTRIBUTES
75changetype: modify
76add: *
77*: INTEGER
78EOF
79checkcount 1 '(j=0x100)'
80checkcount 1 '(j=256)'
81
82echo "Testing class search"
83checkcount 0 '(objectClass=otherclass)'
84checkcount 1 '(objectClass=testclass)'
85
86echo "Adding index"
87cat <<EOF | $VALGRIND ldbadd$EXEEXT || exit 1
88dn: @INDEXLIST
89@IDXATTR: i
90@IDXATTR: test
91EOF
92checkcount 1 '(i=0x100)'
93checkcount 1 '(i=256)'
94checkcount 0 '(i=-256)'
95checkcount 1 '(test=foo)'
96checkcount 1 '(test=FOO)'
97checkcount 1 '(test=*f*o)'
98
99echo "making test case sensitive"
100cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
101dn: @ATTRIBUTES
102changetype: modify
103replace: test
104test: NONE
105EOF
106checkcount 1 '(test=foo)'
107checkcount 0 '(test=FOO)'
108checkcount 1 '(test=f*o*)'
109
110checkone() {
111    count=$1
112    base="$2"
113    expression="$3"
114    n=`$VALGRIND ldbsearch$EXEEXT -s one -b "$base" "$expression" | grep '^dn' | wc -l`
115    if [ $n != $count ]; then
116	echo "Got $n but expected $count for $expression"
117	$VALGRIND ldbsearch$EXEEXT -s one -b "$base" "$expression"
118	exit 1
119    fi
120    echo "OK: $count $expression"
121}
122
123echo "Removing wildcard attribute"
124cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
125dn: @ATTRIBUTES
126changetype: modify
127delete: *
128*: INTEGER
129EOF
130
131echo "Adding one level indexes"
132cat <<EOF | $VALGRIND ldbmodify$EXEEXT || exit 1
133dn: @INDEXLIST
134changetype: modify
135add: @IDXONE
136@IDXONE: 1
137EOF
138
139echo "Testing one level indexed search"
140cat <<EOF | $VALGRIND ldbadd$EXEEXT || exit 1
141dn: cn=one,cn=t1,cn=TEST
142objectClass: oneclass
143cn: one
144test: one
145EOF
146checkone 1 "cn=t1,cn=TEST" '(test=one)'
147cat <<EOF | $VALGRIND ldbadd$EXEEXT || exit 1
148dn: cn=two,cn=t1,cn=TEST
149objectClass: oneclass
150cn: two
151test: one
152
153dn: cn=three,cn=t1,cn=TEST
154objectClass: oneclass
155cn: three
156test: one
157EOF
158checkone 3 "cn=t1,cn=TEST" '(test=one)'
159checkone 1 "cn=t1,cn=TEST" '(cn=two)'
160
161