5 Usage: dbcheck.sh PREFIX RELEASE
14 . `dirname $0`/subunit.sh
16 release_dir=`dirname $0`/../../source4/selftest/provisions/$RELEASE
19 if test -x $BINDIR/tdbrestore;
21 `dirname $0`/../../source4/selftest/provisions/undump.sh $release_dir $PREFIX_ABS/$RELEASE $BINDIR/tdbrestore
23 `dirname $0`/../../source4/selftest/provisions/undump.sh $release_dir $PREFIX_ABS/$RELEASE
28 $PYTHON $BINDIR/samba-tool dbcheck --reindex -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
31 # This should 'fail', because it returns the number of modified records
33 $PYTHON $BINDIR/samba-tool dbcheck --cross-ncs --fix --yes -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
35 # But having fixed it all up, this should pass
37 $PYTHON $BINDIR/samba-tool dbcheck --cross-ncs -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
40 # This should 'fail', because it returns the number of modified records.
41 # We don't need to run this against 4.1 releases
43 if [ x$RELEASE = x"release-4-0-0" -o x$RELEASE = x"alpha13" ]; then
44 $PYTHON $BINDIR/samba-tool dbcheck --reset-well-known-acls --cross-ncs --fix --yes -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
49 # But having fixed it all up, this should pass.
50 # We don't need to run this against 4.1.0rc3
51 dbcheck_acl_reset_clean() {
52 if [ x$RELEASE != x"release-4-1-0rc3" ]; then
53 $PYTHON $BINDIR/samba-tool dbcheck --reset-well-known-acls --cross-ncs -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
57 referenceprovision() {
58 if [ x$RELEASE == x"release-4-0-0" ]; then
59 $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=SAMBA --host-name=ares --realm=${RELEASE}.samba.corp --targetdir=$PREFIX_ABS/${RELEASE}_reference --use-ntvfs --host-ip=127.0.0.1 --host-ip6=::1
64 if [ x$RELEASE == x"release-4-0-0" ]; then
65 $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/${RELEASE}_reference/private/sam.ldb tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --two --skip-missing-dn --filter=dnsRecord
70 if [ x$RELEASE == x"release-4-0-0" ]; then
71 $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX_ABS/${RELEASE}_reference/private/sam.ldb tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --two --sd --skip-missing-dn
75 if [ -d $release_dir ]; then
76 testit $RELEASE undump
77 testit "reindex" reindex
78 testit_expect_failure "dbcheck" dbcheck
79 testit "dbcheck_clean" dbcheck_clean
80 testit_expect_failure "dbcheck_acl_reset" dbcheck_acl_reset
81 testit "dbcheck_acl_reset_clean" dbcheck_acl_reset_clean
82 testit "referenceprovision" referenceprovision
83 testit "ldapcmp" ldapcmp
84 testit "ldapcmp_sd" ldapcmp_sd
86 subunit_start_test $RELEASE
87 subunit_skip_test $RELEASE <<EOF
91 subunit_start_test "reindex"
92 subunit_skip_test "reindex" <<EOF
95 subunit_start_test "dbcheck"
96 subunit_skip_test "dbcheck" <<EOF
99 subunit_start_test "dbcheck_clean"
100 subunit_skip_test "dbcheck_clean" <<EOF
103 subunit_start_test "dbcheck_acl_reset"
104 subunit_skip_test "dbcheck_acl_reset" <<EOF
107 subunit_start_test "dbcheck_clean_acl_reset"
108 subunit_skip_test "dbcheck_clean_acl_reset" <<EOF
111 subunit_start_test "referenceprovision"
112 subunit_skip_test "referenceprovision" <<EOF
115 subunit_start_test "ldapcmp"
116 subunit_skip_test "ldapcmp" <<EOF
119 subunit_start_test "ldapcmp_sd"
120 subunit_skip_test "ldapcmp_sd" <<EOF
125 if [ -d $PREFIX_ABS/${RELEASE} ]; then
126 rm -fr $PREFIX_ABS/${RELEASE}
129 if [ -d $PREFIX_ABS/${RELEASE}_reference ]; then
130 rm -fr $PREFIX_ABS/${RELEASE}_reference