Add blackbox test for provisioning code to make sure it can be run more than once...
authorJelmer Vernooij <jelmer@samba.org>
Tue, 12 Feb 2008 00:39:31 +0000 (01:39 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 12 Feb 2008 00:39:31 +0000 (01:39 +0100)
source/selftest/samba4_tests.sh
source/setup/tests/blackbox_provision.sh [new file with mode: 0755]

index fba9e8603e8840b6e991d8785f8810e4d92bb50e..f2895304cf875acaeba1d0e92476304b5eb6d4ed 100755 (executable)
@@ -327,5 +327,5 @@ then
        rm -rf $PREFIX/upgrade
        plantest "blackbox.upgrade" none $PYTHON setup/upgrade.py $CONFIGURATION --targetdir=$PREFIX/upgrade ../testdata/samba3 ../testdata/samba3/smb.conf
        rm -rf $PREFIX/provision
        rm -rf $PREFIX/upgrade
        plantest "blackbox.upgrade" none $PYTHON setup/upgrade.py $CONFIGURATION --targetdir=$PREFIX/upgrade ../testdata/samba3 ../testdata/samba3/smb.conf
        rm -rf $PREFIX/provision
-       plantest "blackbox.provision.py" none $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/provision
+       plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX" "$CONFIGURATION" 
 fi
 fi
diff --git a/source/setup/tests/blackbox_provision.sh b/source/setup/tests/blackbox_provision.sh
new file mode 100755 (executable)
index 0000000..57b11ea
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+if [ $# -lt 2 ]; then
+cat <<EOF
+Usage: blackbox_provision.sh PREFIX CONFIGURATION
+EOF
+exit 1;
+fi
+
+PREFIX="$1"
+CONFIGURATION="$2"
+shift 2
+
+testit() {
+       name="$1"
+       shift
+       cmdline="$*"
+       echo "test: $name"
+       $cmdline
+       status=$?
+       if [ x$status = x0 ]; then
+               echo "success: $name"
+       else
+               echo "failure: $name"
+               failed=`expr $failed + 1`
+       fi
+       return $status
+}
+
+testit "simple" $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple
+
+reprovision() {
+       $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
+       $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
+}
+
+testit "reprovision" reprovision
+
+exit $failed