unit tests: do some cleanup after tests
[samba.git] / source4 / setup / tests / blackbox_provision.sh
1 #!/bin/sh
2
3 if [ $# -lt 1 ]; then
4 cat <<EOF
5 Usage: blackbox_provision.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 #Prepare an empty smb.conf to ensure it is overwritten
16 rm -rf $PREFIX/simple-default
17 mkdir -p $PREFIX/simple-default/etc
18 touch $PREFIX/simple-default/etc/smb.conf
19 testit "simple-default" $PYTHON ./setup/provision --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-default
20 #And try with just whitespace
21 rm -rf $PREFIX/simple-dc
22 mkdir -p $PREFIX/simple-dc/etc
23 echo "  " > $PREFIX/simple-dc/etc/smb.conf
24 testit "simple-dc" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/simple-dc
25 #The rest of these tests are with no smb.conf file present
26
27 rm -rf $PREFIX/simple-dc
28 testit "simple-dc-guids" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --domain-guid=6054d36d-2bfd-44f1-a9cd-32cfbb06480b --ntds-guid=b838f255-c8aa-4fe8-9402-b7d61ca3bd1b --invocationid=6d4cff9a-2bbf-4b4c-98a2-36242ddb0bd6 --targetdir=$PREFIX/simple-dc
29 rm -rf $PREFIX/simple-member
30 testit "simple-member" $PYTHON ./setup/provision --server-role="member" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-member
31 rm -rf $PREFIX/simple-standalone
32 testit "simple-standalone" $PYTHON ./setup/provision --server-role="standalone" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-standalone
33 rm -rf $PREFIX/blank-dc
34 testit "blank-dc" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/blank-dc --blank
35 rm -rf $PREFIX/partitions-only-dc
36 testit "partitions-only-dc" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/partitions-only-dc --partitions-only
37
38 reprovision() {
39         rm -rf $PREFIX/reprovision
40         $PYTHON ./setup/provision --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
41         $PYTHON ./setup/provision --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
42 }
43
44 testit "reprovision" reprovision
45 rm -rf $PREFIX/simple-default
46 rm -rf $PREFIX/simple-dc
47 rm -rf $PREFIX/blank-dc
48 rm -rf $PREFIX/simple-member
49 rm -rf $PREFIX/simple-standalone
50 rm -rf $PREFIX/partitions-only-dc
51 rm -rf $PREFIX/reprovision
52
53 exit $failed