ctdb-scripts: Do not de-duplicate the interfaces list
[samba.git] / source4 / setup / tests / blackbox_provision.sh
index 5dfa510dcc844781b03e538eaafce3867ba6ceb6..4e55656d123e488d851de45f0408e5dea1414879 100755 (executable)
@@ -1,16 +1,16 @@
 #!/bin/sh
 
 if [ $# -lt 1 ]; then
-cat <<EOF
+       cat <<EOF
 Usage: blackbox_provision.sh PREFIX
 EOF
-exit 1;
+       exit 1
 fi
 
 PREFIX="$1"
 shift 1
 
-. `dirname $0`/../../../testprogs/blackbox/subunit.sh
+. $(dirname $0)/../../../testprogs/blackbox/subunit.sh
 
 #Prepare an empty smb.conf to ensure it is overwritten
 rm -rf $PREFIX/simple-default
@@ -20,7 +20,7 @@ testit "simple-default" $PYTHON $BINDIR/samba-tool domain provision --domain=FOO
 #And try with just whitespace
 rm -rf $PREFIX/simple-dc
 mkdir -p $PREFIX/simple-dc/etc
-echo "  " > $PREFIX/simple-dc/etc/smb.conf
+echo "  " >$PREFIX/simple-dc/etc/smb.conf
 testit "simple-dc" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/simple-dc --use-ntvfs
 #The rest of these tests are with no smb.conf file present
 
@@ -28,6 +28,14 @@ rm -rf $PREFIX/simple-dc
 testit "simple-dc-guids" $PYTHON $BINDIR/samba-tool domain 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 --use-ntvfs
 rm -rf $PREFIX/simple-dc-2008r2-schema
 testit "simple-dc-2008r2-schema" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-dc-2008r2-schema --use-ntvfs --base-schema=2008_R2
+rm -rf $PREFIX/simple-dc-2012-schema
+testit "simple-dc-2012-schema" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-dc-2012-schema --use-ntvfs --base-schema=2012
+rm -rf $PREFIX/simple-dc-2012r2-schema
+testit "simple-dc-2012r2-schema" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-dc-2012r2-schema --use-ntvfs --base-schema=2012_R2
+rm -rf $PREFIX/simple-dc-2016-schema
+testit "simple-dc-2016-schema" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-dc-2016-schema --use-ntvfs --base-schema=2016
+rm -rf $PREFIX/simple-dc-2019-schema
+testit "simple-dc-2019-schema" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-dc-2019-schema --use-ntvfs --base-schema=2019
 rm -rf $PREFIX/simple-member
 testit "simple-member" $PYTHON $BINDIR/samba-tool domain provision --server-role="member" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-member --use-ntvfs
 rm -rf $PREFIX/simple-standalone
@@ -35,46 +43,55 @@ testit "simple-standalone" $PYTHON $BINDIR/samba-tool domain provision --server-
 rm -rf $PREFIX/blank-dc
 testit "blank-dc" $PYTHON $BINDIR/samba-tool domain provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/blank-dc --blank --use-ntvfs
 
-reprovision() {
+reprovision()
+{
        $PYTHON $BINDIR/samba-tool domain provision --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/simple-default" --use-ntvfs
 }
 
 testit "reprovision" reprovision
 
-V_2012_R2=69
 V_2008_R2=47
+V_2012=56
+V_2012_R2=69
+V_2016=87
+V_2019=88
 
-check_baseschema() {
+check_baseschema()
+{
        ldbsearch="ldbsearch"
        if [ -x "$BINDIR/ldbsearch" ]; then
-           ldbsearch="$BINDIR/ldbsearch"
+               ldbsearch="$BINDIR/ldbsearch"
        fi
 
-       base=$($ldbsearch -H $PREFIX/$1/private/sam.ldb -base dn)
-       dom=$(echo "$base" | grep "dn: " | cut -d " " -f 2);
+       base=$($ldbsearch -H $PREFIX/$1/private/sam.ldb --scope=base dn)
+       dom=$(echo "$base" | grep "dn: " | cut -d " " -f 2)
 
        if [ -z "$dom" ]; then
-               echo "Unexpected ldbsearch output: $base";
+               echo "Unexpected ldbsearch output: $base"
        fi
 
-       version=$($ldbsearch -H $PREFIX/$1/private/sam.ldb -base \
-                 "objectVersion" -b "CN=SCHEMA,CN=CONFIGURATION,$dom");
-       version_num=$(echo "$version" | grep "objectVersion: " | cut -d " " -f 2);
+       version=$($ldbsearch -H $PREFIX/$1/private/sam.ldb --scope=base \
+               "objectVersion" -b "CN=SCHEMA,CN=CONFIGURATION,$dom")
+       version_num=$(echo "$version" | grep "objectVersion: " | cut -d " " -f 2)
 
        if [ "$version_num" -eq "$2" ]; then
-               return 0;
+               return 0
        fi
 
-       echo "Fail: schema version $version_num != $2";
-       return 1;
+       echo "Fail: schema version $version_num != $2"
+       return 1
 }
 
 tname="schema version"
-testit "$tname simple-default" check_baseschema simple-default $V_2012_R2
-testit "$tname simple-dc" check_baseschema simple-dc $V_2012_R2
-testit "$tname simple-member" check_baseschema simple-member $V_2012_R2
-testit "$tname simple-standalone" check_baseschema simple-standalone $V_2012_R2
+testit "$tname simple-default" check_baseschema simple-default $V_2019
+testit "$tname simple-dc" check_baseschema simple-dc $V_2019
+testit "$tname simple-member" check_baseschema simple-member $V_2019
+testit "$tname simple-standalone" check_baseschema simple-standalone $V_2019
 testit "$tname simple-dc-2008r2-schema" check_baseschema simple-dc-2008r2-schema $V_2008_R2
+testit "$tname simple-dc-2012-schema" check_baseschema simple-dc-2012-schema $V_2012
+testit "$tname simple-dc-2012r2-schema" check_baseschema simple-dc-2012r2-schema $V_2012_R2
+testit "$tname simple-dc-2016-schema" check_baseschema simple-dc-2016-schema $V_2016
+testit "$tname simple-dc-2019-schema" check_baseschema simple-dc-2019-schema $V_2019
 
 rm -rf $PREFIX/simple-default
 rm -rf $PREFIX/simple-dc
@@ -82,5 +99,10 @@ rm -rf $PREFIX/blank-dc
 rm -rf $PREFIX/simple-member
 rm -rf $PREFIX/simple-standalone
 rm -rf $PREFIX/partitions-only-dc
+rm -rf $PREFIX/simple-dc-2008r2-schema
+rm -rf $PREFIX/simple-dc-2012-schema
+rm -rf $PREFIX/simple-dc-2012r2-schema
+rm -rf $PREFIX/simple-dc-2016-schema
+rm -rf $PREFIX/simple-dc-2019-schema
 
 exit $failed