ctdb-scripts: Do not de-duplicate the interfaces list
[samba.git] / source4 / setup / tests / blackbox_upgradeprovision.sh
1 #!/bin/sh
2
3 if [ $# -lt 1 ]; then
4         cat <<EOF
5 Usage: blackbox_upgradeprovision.sh PREFIX
6 EOF
7         exit 1
8 fi
9
10 PREFIX="$1"
11 shift 1
12
13 . $(dirname $0)/../../../testprogs/blackbox/subunit.sh
14
15 [ ! -d $PREFIX ] && mkdir $PREFIX
16
17 upgradeprovision_reference()
18 {
19         if [ -d $PREFIX/upgradeprovision_reference ]; then
20                 rm -fr $PREFIX/upgradeprovision_reference
21         fi
22         $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/upgradeprovision_reference" --server-role="dc" --use-ntvfs --base-schema=2008_R2
23 }
24
25 upgradeprovision()
26 {
27         if [ -d $PREFIX/upgradeprovision ]; then
28                 rm -fr $PREFIX/upgradeprovision
29         fi
30         $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/upgradeprovision" --server-role="dc" --use-ntvfs --base-schema=2008_R2
31         $PYTHON $BINDIR/samba_upgradeprovision --configfile="$PREFIX/upgradeprovision/etc/smb.conf" --debugchange
32 }
33
34 upgradeprovision_full()
35 {
36         if [ -d $PREFIX/upgradeprovision_full ]; then
37                 rm -fr $PREFIX/upgradeprovision_full
38         fi
39         $PYTHON $BINDIR/samba-tool domain provision --host-name=bar --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/upgradeprovision_full" --server-role="dc" --use-ntvfs --base-schema=2008_R2
40         $PYTHON $BINDIR/samba_upgradeprovision --configfile="$PREFIX/upgradeprovision_full/etc/smb.conf" --full --debugchange
41 }
42
43 # The ldapcmp runs here are to ensure that a 'null' run of
44 # upgradeprovision (because we did a provision with the same template)
45 # really doesn't change anything.
46
47 ldapcmp()
48 {
49         $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX/upgradeprovision/private/sam.ldb tdb://$PREFIX/upgradeprovision_reference/private/sam.ldb --two --skip-missing-dn --filter=servicePrincipalName
50 }
51
52 ldapcmp_full()
53 {
54         $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX/upgradeprovision_full/private/sam.ldb tdb://$PREFIX/upgradeprovision_reference/private/sam.ldb --two --skip-missing-dn --filter=servicePrincipalName
55 }
56
57 ldapcmp_sd()
58 {
59         $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX/upgradeprovision/private/sam.ldb tdb://$PREFIX/upgradeprovision_reference/private/sam.ldb --two --sd --skip-missing-dn --filter=servicePrincipalName
60 }
61
62 ldapcmp_full_sd()
63 {
64         $PYTHON $BINDIR/samba-tool ldapcmp tdb://$PREFIX/upgradeprovision_full/private/sam.ldb tdb://$PREFIX/upgradeprovision_reference/private/sam.ldb --two --sd --skip-missing-dn --filter=servicePrincipalName
65 }
66
67 testit "upgradeprovision" upgradeprovision
68 testit "upgradeprovision_full" upgradeprovision_full
69 testit "upgradeprovision_reference" upgradeprovision_reference
70 testit "ldapcmp" ldapcmp
71 testit "ldapcmp_full" ldapcmp_full
72 testit "ldapcmp_sd" ldapcmp_sd
73 testit "ldapcmp_full_sd" ldapcmp_full_sd
74
75 if [ -d $PREFIX/upgradeprovision ]; then
76         rm -fr $PREFIX/upgradeprovision
77 fi
78
79 if [ -d $PREFIX/upgradeprovision_full ]; then
80         rm -fr $PREFIX/upgradeprovision_full
81 fi
82
83 if [ -d $PREFIX/upgradeprovision_reference ]; then
84         rm -fr $PREFIX/upgradeprovision_reference
85 fi
86
87 exit $failed