selftest: Improve test coverage of DRS (bug #8680)
authorMatthieu Patou <mat@matws.net>
Fri, 19 Apr 2013 05:03:23 +0000 (22:03 -0700)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 23 May 2013 10:26:25 +0000 (20:26 +1000)
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Signed-off-by: Matthieu Patou <mat@matws.net>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/skip
source4/selftest/tests.py

index 6ea9b25f40477221f1c184d3b50053e336878252..0b8468db020165cc87799008bd3b380cabbb5366 100644 (file)
@@ -103,8 +103,6 @@ bench # don't run benchmarks in our selftest
 # ktutil might not be installed or from mit...
 # we should build a samba4ktutil and use that instead
 ^samba4.blackbox.ktpass # this test isn't portable ...
-^samba4.drs.repl_schema.python # flakey test
-^samba4.drs.delete_object.python # flakey test
 ^samba4.rpc.unixinfo # This contains a server-side getpwuid call which hangs the server when nss_winbindd is in use
 ^samba.tests.dcerpc.unix  # This contains a server-side getpwuid call which hangs the server when nss_winbindd is in use
 base.dir2 # This test spins on modern ext4, so we have to skip it
index a20b0caecca14e40fbafbcb4a30cece956165d3b..10b8a25d1f47bf4f1d8beaf776d853c841feb0ef 100755 (executable)
@@ -458,31 +458,6 @@ plantestsuite("samba4.blackbox.group.py", "none", ["PYTHON=%s" % python, os.path
 plantestsuite("samba4.blackbox.spn.py(dc:local)", "dc:local", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_spn.sh"), '$PREFIX/dc'])
 plantestsuite("samba4.ldap.bind(dc)", "dc", [python, os.path.join(srcdir(), "auth/credentials/tests/bind.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"'])
 
-# DRS python tests
-planoldpythontestsuite("vampire_dc", "samba.tests.blackbox.samba_tool_drs",
-        environ={'DC1': '$DC_SERVER', 'DC2': '$VAMPIRE_DC_SERVER'},
-        extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
-planoldpythontestsuite("vampire_dc:local", "replica_sync",
-        extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
-        name="samba4.drs.replica_sync.python(vampire_dc)",
-        environ={'DC1': '$DC_SERVER', 'DC2': '$VAMPIRE_DC_SERVER'},
-        extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
-planoldpythontestsuite("vampire_dc", "delete_object",
-        extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
-        name="samba4.drs.delete_object.python(vampire_dc)",
-        environ={'DC1': '$DC_SERVER', 'DC2': '$VAMPIRE_DC_SERVER'},
-        extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
-planoldpythontestsuite("vampire_dc", "fsmo",
-        name="samba4.drs.fsmo.python(vampire_dc)",
-        extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
-        environ={'DC1': "$DC_SERVER", 'DC2': "$VAMPIRE_DC_SERVER"},
-        extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
-planoldpythontestsuite("vampire_dc", "repl_schema",
-        extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
-        name="samba4.drs.repl_schema.python(vampire_dc)",
-        environ={'DC1': "$DC_SERVER", 'DC2': '$VAMPIRE_DC_SERVER'},
-        extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
-
 # This makes sure we test the rid allocation code
 t = "rpc.samr.large-dc"
 plansmbtorture4testsuite(t, "vampire_dc", ['$SERVER', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], modname=("samba4.%s.one" % t))
@@ -499,6 +474,32 @@ plantestsuite("samba4.blackbox.renamedc.sh", "none", ["PYTHON=%s" % python, os.p
 
 # Demote the vampire DC, it must be the last test on the VAMPIRE DC
 for env in ['vampire_dc', 'promoted_dc']:
+
+    # DRS python tests
+    planoldpythontestsuite(env, "samba.tests.blackbox.samba_tool_drs",
+                           environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
+                           extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
+    planoldpythontestsuite("%s:local" % env, "replica_sync",
+                           extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
+                           name="samba4.drs.replica_sync.python(%s)" % env,
+                           environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
+                           extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
+    planoldpythontestsuite(env, "delete_object",
+                           extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
+                           name="samba4.drs.delete_object.python(%s)" % env,
+                           environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
+                           extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
+    planoldpythontestsuite(env, "fsmo",
+                           name="samba4.drs.fsmo.python(%s)" % env,
+                           extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
+                           environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
+                           extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
+    planoldpythontestsuite(env, "repl_schema",
+                           extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
+                           name="samba4.drs.repl_schema.python(%s)" % env,
+                           environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
+                           extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
+
     plantestsuite("samba4.blackbox.samba_tool_demote(%s)" % env, env, [os.path.join(samba4srcdir, "utils/tests/test_demote.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$DOMAIN', '$DC_SERVER', '$PREFIX/%s' % env, smbclient4])
 # TODO: Verifying the databases really should be a part of the
 # environment teardown.