From d36e9118cbf9deb01c6ee9af6790ce35bb3b936a Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Thu, 18 Apr 2013 22:03:23 -0700 Subject: [PATCH] selftest: Improve test coverage of DRS (bug #8680) Pair-Programmed-With: Andrew Bartlett Signed-off-by: Matthieu Patou Reviewed-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett --- selftest/skip | 2 -- source4/selftest/tests.py | 51 ++++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/selftest/skip b/selftest/skip index 6ea9b25f404..0b8468db020 100644 --- a/selftest/skip +++ b/selftest/skip @@ -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 diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py index a20b0caecca..10b8a25d1f4 100755 --- a/source4/selftest/tests.py +++ b/source4/selftest/tests.py @@ -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.