[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-directory-commits
Subject:    =?utf-8?q?=5B389-commits=5D?= dirsrvtests/create_test.py dirsrvtests/tests
From:       Mark Reynolds <mreynolds () fedoraproject ! org>
Date:       2016-07-21 13:10:41
Message-ID: 20160721131041.8B26D6134F () fedorahosted ! org
[Download RAW message or body]

 dirsrvtests/create_test.py                                              |    7 
 dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py                  |   20 
 dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py   |   12 
 dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py           |   15 
 dirsrvtests/tests/suites/acl/acl_test.py                                |    6 
 dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py           |   14 
 dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py |   17 
 dirsrvtests/tests/suites/automember_plugin/automember_test.py           |   14 
 dirsrvtests/tests/suites/basic/basic_test.py                            |   31 
 dirsrvtests/tests/suites/betxns/betxn_test.py                           |   11 
 dirsrvtests/tests/suites/chaining_plugin/chaining_test.py               |   15 
 dirsrvtests/tests/suites/clu/clu_test.py                                |   15 
 dirsrvtests/tests/suites/clu/db2ldif_test.py                            |   14 
 dirsrvtests/tests/suites/collation_plugin/collatation_test.py           |    8 
 dirsrvtests/tests/suites/cos_plugin/cos_test.py                         |   13 
 dirsrvtests/tests/suites/deref_plugin/deref_test.py                     |   13 
 dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py           |   13 
 dirsrvtests/tests/suites/distrib_plugin/distrib_test.py                 |   13 
 dirsrvtests/tests/suites/ds_logs/ds_logs_test.py                        |   13 
 dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py        |    9 
 dirsrvtests/tests/suites/filter/filter_test.py                          |   12 
 dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py          |    2 
 dirsrvtests/tests/suites/get_effective_rights/ger_test.py               |   13 
 dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py                |    5 
 dirsrvtests/tests/suites/ldapi/ldapi_test.py                            |   13 
 dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py        |   13 
 dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py              |   13 
 dirsrvtests/tests/suites/memberof_plugin/memberof_test.py               |    1 
 dirsrvtests/tests/suites/memory_leaks/range_search_test.py              |    4 
 dirsrvtests/tests/suites/monitor/monitor_test.py                        |   13 
 dirsrvtests/tests/suites/paged_results/paged_results_test.py            |   40 
 dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py                |   13 
 dirsrvtests/tests/suites/passthru_plugin/passthru_test.py               |   13 
 dirsrvtests/tests/suites/password/password_test.py                      |   11 
 dirsrvtests/tests/suites/password/pwdAdmin_test.py                      |   11 
 dirsrvtests/tests/suites/password/pwdPolicy_test.py                     |  181 +-
 dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py     |   13 
 dirsrvtests/tests/suites/psearch/psearch_test.py                        |   13 
 dirsrvtests/tests/suites/referint_plugin/referint_test.py               |   13 
 dirsrvtests/tests/suites/replication/cleanallruv_test.py                |  703 \
+++-------  dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py     | \
16   dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py              |   13 
 dirsrvtests/tests/suites/resource_limits/res_limits_test.py             |   13 
 dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py                 |   13 
 dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py               |   13 
 dirsrvtests/tests/suites/roles_plugin/roles_test.py                     |   13 
 dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py            |   22 
 dirsrvtests/tests/suites/sasl/sasl_test.py                              |   14 
 dirsrvtests/tests/suites/schema/test_schema.py                          |   10 
 dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py     |   13 
 dirsrvtests/tests/suites/snmp/snmp_test.py                              |   13 
 dirsrvtests/tests/suites/ssl/ssl_test.py                                |   13 
 dirsrvtests/tests/suites/syntax_plugin/syntax_test.py                   |   13 
 dirsrvtests/tests/suites/usn_plugin/usn_test.py                         |   13 
 dirsrvtests/tests/suites/views_plugin/views_test.py                     |   14 
 dirsrvtests/tests/suites/vlv/vlv_test.py                                |   13 
 dirsrvtests/tests/suites/whoami_plugin/whoami_test.py                   |   13 
 dirsrvtests/tests/tickets/ticket1347760_test.py                         |   10 
 dirsrvtests/tests/tickets/ticket142_test.py                             |   15 
 dirsrvtests/tests/tickets/ticket365_test.py                             |   67 
 dirsrvtests/tests/tickets/ticket47313_test.py                           |   12 
 dirsrvtests/tests/tickets/ticket47384_test.py                           |   41 
 dirsrvtests/tests/tickets/ticket47431_test.py                           |   14 
 dirsrvtests/tests/tickets/ticket47490_test.py                           |   11 
 dirsrvtests/tests/tickets/ticket47536_test.py                           |   36 
 dirsrvtests/tests/tickets/ticket47560_test.py                           |    8 
 dirsrvtests/tests/tickets/ticket47573_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket47619_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket47640_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47653MMR_test.py                        |   13 
 dirsrvtests/tests/tickets/ticket47653_test.py                           |   13 
 dirsrvtests/tests/tickets/ticket47669_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47676_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket47714_test.py                           |   19 
 dirsrvtests/tests/tickets/ticket47721_test.py                           |   11 
 dirsrvtests/tests/tickets/ticket47781_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47787_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket47808_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket47815_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47819_test.py                           |   15 
 dirsrvtests/tests/tickets/ticket47823_test.py                           |    8 
 dirsrvtests/tests/tickets/ticket47828_test.py                           |  202 +-
 dirsrvtests/tests/tickets/ticket47829_test.py                           |    8 
 dirsrvtests/tests/tickets/ticket47833_test.py                           |   54 
 dirsrvtests/tests/tickets/ticket47838_test.py                           |   24 
 dirsrvtests/tests/tickets/ticket47869MMR_test.py                        |   10 
 dirsrvtests/tests/tickets/ticket47871_test.py                           |   11 
 dirsrvtests/tests/tickets/ticket47900_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47910_test.py                           |   44 
 dirsrvtests/tests/tickets/ticket47920_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47921_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47927_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47937_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47950_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47953_test.py                           |   19 
 dirsrvtests/tests/tickets/ticket47963_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47966_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket47970_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47973_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47980_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47981_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket47988_test.py                           |    9 
 dirsrvtests/tests/tickets/ticket48005_test.py                           |   38 
 dirsrvtests/tests/tickets/ticket48013_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket48026_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket48170_test.py                           |    8 
 dirsrvtests/tests/tickets/ticket48194_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket48212_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket48214_test.py                           |    7 
 dirsrvtests/tests/tickets/ticket48226_test.py                           |   29 
 dirsrvtests/tests/tickets/ticket48228_test.py                           |    6 
 dirsrvtests/tests/tickets/ticket48252_test.py                           |   15 
 dirsrvtests/tests/tickets/ticket48265_test.py                           |    5 
 dirsrvtests/tests/tickets/ticket48270_test.py                           |   28 
 dirsrvtests/tests/tickets/ticket48294_test.py                           |    9 
 dirsrvtests/tests/tickets/ticket48295_test.py                           |    8 
 dirsrvtests/tests/tickets/ticket48342_test.py                           |   12 
 dirsrvtests/tests/tickets/ticket48362_test.py                           |   33 
 dirsrvtests/tests/tickets/ticket48366_test.py                           |   11 
 dirsrvtests/tests/tickets/ticket48497_test.py                           |   18 
 dirsrvtests/tests/tickets/ticket48745_test.py                           |   12 
 dirsrvtests/tests/tickets/ticket48746_test.py                           |   22 
 dirsrvtests/tests/tickets/ticket48759_test.py                           |   16 
 dirsrvtests/tests/tickets/ticket48784_test.py                           |   29 
 dirsrvtests/tests/tickets/ticket48798_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket48844_test.py                           |    2 
 dirsrvtests/tests/tickets/ticket48891_test.py                           |   10 
 dirsrvtests/tests/tickets/ticket548_test.py                             |    5 
 128 files changed, 1198 insertions(+), 1596 deletions(-)

New commits:
commit 19721959cbbbad60d8621bdca8a2c66d67bb5d5c
Author: Mark Reynolds <mreynolds@redhat.com>
Date:   Wed Jul 20 20:43:19 2016 -0400

    Ticket 48832 - Fix lib389 CI ticket/suite test failures
    
    Description:  There were varuious failures in many of the lib389
                  CI tests.  Here is a list of some of the common fixes
                  that were made:
    
                    - Removed the use of TMP_DIR, and used /tmp for
                      everything.  There were just too many issues
                      with permissions (between user running the tests
                      and the DS user).
                    - Added some sleeps where timing was an issue.
                    - Updated the tests to match new lib389 API changes
                    - Fixed all the tests so they work with SELinux enforcing
                    - Made sure ever test script has a finialzier to
                      remove the instance.
    
    https://fedorahosted.org/389/ticket/48832
    
    Reviewed by: spichugi & firstyear (Thanks!!)

diff --git a/dirsrvtests/create_test.py b/dirsrvtests/create_test.py
index 46c8217..19b838f 100755
--- a/dirsrvtests/create_test.py
+++ b/dirsrvtests/create_test.py
@@ -346,6 +346,8 @@ if len(sys.argv) > 0:
                        '(suffix=SUFFIX, role=REPLICAROLE_CONSUMER, ' +
                        'replicaId=CONSUMER_REPLICAID)\n\n')
 
+        writeFinalizer()
+
         #
         # Create the master agreements
         #
@@ -584,8 +586,6 @@ if len(sys.argv) > 0:
             TEST.write('        assert False\n')
             TEST.write('\n')
 
-        writeFinalizer()
-
         #
         # Write the finals steps for replication
         #
@@ -649,10 +649,7 @@ if len(sys.argv) > 0:
 
         writeFinalizer()
 
-        TEST.write('    # Clear out the tmp dir\n')
-        TEST.write('    standalone.clearTmpDir(__file__)\n')
         TEST.write('\n')
-
         TEST.write('    return TopologyStandalone(standalone')
         for idx in range(instances):
             idx += 1
diff --git a/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py \
b/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py index b827033..d00d78c \
                100644
--- a/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py
+++ b/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py
@@ -1,5 +1,5 @@
 # --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
+# Copyright (C) 2016 Red Hat, Inc.
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
@@ -50,7 +50,7 @@ def topology(request):
         args_instance[SER_DEPLOYED_DIR] = installation1_prefix
 
     # Creating master 1...
-    master1 = DirSrv(verbose=True)
+    master1 = DirSrv(verbose=False)
     args_instance[SER_HOST] = HOST_MASTER_1
     args_instance[SER_PORT] = PORT_MASTER_1
     args_instance[SER_SERVERID_PROP] = SERVERID_MASTER_1
@@ -118,9 +118,9 @@ def topology(request):
     #
     # Import tests entries into master1 before we initialize master2
     #
-    tmp_dir = master1.getDir(__file__, TMP_DIR)
+    ldif_dir = master1.get_ldif_dir()
 
-    import_ldif = tmp_dir + '/rel7.5-entries.ldif'
+    import_ldif = ldif_dir + '/rel7.5-entries.ldif'
 
     # First generate an ldif
     try:
@@ -200,6 +200,9 @@ def topology(request):
     def fin():
         master1.delete()
         master2.delete()
+        if ENABLE_VALGRIND:
+            sbin_dir = get_sbin_dir(prefix=master1.prefix)
+            valgrind_disable(sbin_dir)
     request.addfinalizer(fin)
 
     return TopologyReplication(master1, master2)
@@ -279,7 +282,7 @@ class ModUsers(threading.Thread):
                        DEFAULT_SUFFIX)
             NEW_RDN = 'cn=master' + self.id + '_entry' + str(idx)
             try:
-                conn.rename(USER_DN, NEW_RDN, delold=1)
+                conn.rename_s(USER_DN, NEW_RDN, delold=1)
             except ldap.LDAPError as e:
                 log.error('Failed to modrdn (' + USER_DN + ') on master ' +
                           self.id + ': error ' + e.message['desc'])
@@ -294,7 +297,7 @@ class ModUsers(threading.Thread):
                        DEFAULT_SUFFIX)
             NEW_RDN = 'uid=master' + self.id + '_entry' + str(idx)
             try:
-                conn.rename(USER_DN, NEW_RDN, delold=1)
+                conn.rename_s(USER_DN, NEW_RDN, delold=1)
             except ldap.LDAPError as e:
                 log.error('Failed to modrdn (' + USER_DN + ') on master ' +
                           self.id + ': error ' + e.message['desc'])
@@ -557,11 +560,6 @@ def test_reliab7_5_run(topology):
     fullSearch1.join()
     fullSearch2.join()
 
-    if ENABLE_VALGRIND:
-        # We're done, disable valgrind...
-        sbin_dir = get_sbin_dir(prefix=topology.master1.prefix)
-        valgrind_disable(sbin_dir)
-
 
 if __name__ == '__main__':
     # Run isolated
diff --git a/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py \
b/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py index \
                36021e2..38b78c2 100644
--- a/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
+++ b/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -54,6 +54,10 @@ def topology(request):
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
 
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
+
     return TopologyStandalone(standalone)
 
 
@@ -73,11 +77,6 @@ def test_acct_usability_(topology):
     return
 
 
-def test_acct_usability_final(topology):
-    topology.standalone.delete()
-    log.info('acct_usability test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +84,6 @@ def run_isolated():
     topo = topology(True)
     test_acct_usability_init(topo)
     test_acct_usability_(topo)
-    test_acct_usability_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py \
b/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py index \
                b7db352..6404360 100644
--- a/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
+++ b/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -69,13 +70,8 @@ def test_acctpolicy_(topology):
     '''
     Write a single test here...
     '''
-
-    return
-
-
-def test_acctpolicy_final(topology):
-    topology.standalone.delete()
     log.info('acctpolicy test suite PASSED')
+    return
 
 
 def run_isolated():
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_acctpolicy_init(topo)
     test_acctpolicy_(topo)
-    test_acctpolicy_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/acl/acl_test.py \
b/dirsrvtests/tests/suites/acl/acl_test.py index 422a1ec..f42a584 100644
--- a/dirsrvtests/tests/suites/acl/acl_test.py
+++ b/dirsrvtests/tests/suites/acl/acl_test.py
@@ -190,7 +190,7 @@ def add_attr(topology, attr_name):
     mod = [(ldap.MOD_ADD, 'attributeTypes', ATTR_VALUE)]
 
     try:
-        topology.standalone.modify_s(DN_SCHEMA, mod)
+        topology.master1.modify_s(DN_SCHEMA, mod)
     except ldap.LDAPError as e:
         log.fatal('Failed to add attr (%s): error (%s)' % (attr_name,
                                                            e.message['desc']))
@@ -220,7 +220,7 @@ def aci_with_attr_subtype(request, topology):
     log.info("        Add an ACI with attribute subtype")
     mod = [(ldap.MOD_ADD, 'aci', ACI_BODY)]
     try:
-        topology.standalone.modify_s(DEFAULT_SUFFIX, mod)
+        topology.master1.modify_s(DEFAULT_SUFFIX, mod)
     except ldap.LDAPError as e:
         log.fatal('Failed to add ACI: error (%s)' % (e.message['desc']))
         assert False
@@ -230,7 +230,7 @@ def aci_with_attr_subtype(request, topology):
                                                        SUBTYPE)
         mod = [(ldap.MOD_DELETE, 'aci', ACI_BODY)]
         try:
-            topology.standalone.modify_s(DEFAULT_SUFFIX, mod)
+            topology.master1.modify_s(DEFAULT_SUFFIX, mod)
         except ldap.LDAPError as e:
             log.fatal('Failed to delete ACI: error (%s)' % (e.message['desc']))
             assert False
diff --git a/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py \
b/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py index \
                7d14a76..9b704d6 100644
--- a/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
+++ b/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -54,6 +54,10 @@ def topology(request):
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
 
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
+
     return TopologyStandalone(standalone)
 
 
@@ -69,13 +73,8 @@ def test_attr_encrypt_(topology):
     '''
     Write a single test here...
     '''
-
-    return
-
-
-def test_attr_encrypt_final(topology):
-    topology.standalone.delete()
     log.info('attr_encrypt test suite PASSED')
+    return
 
 
 def run_isolated():
@@ -85,7 +84,6 @@ def run_isolated():
     topo = topology(True)
     test_attr_encrypt_init(topo)
     test_attr_encrypt_(topo)
-    test_attr_encrypt_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py \
b/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py index \
                06e7425..9786210 100644
--- a/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
+++ b/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
@@ -1,19 +1,16 @@
 # --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
+# Copyright (C) 2016 Red Hat, Inc.
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
 # See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
-import os
-import sys
 import time
 import ldap
 import logging
 import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
 from lib389._constants import *
 from lib389.properties import *
 from lib389.tasks import *
@@ -55,6 +52,10 @@ def topology(request):
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
 
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
+
     return TopologyStandalone(standalone)
 
 
@@ -228,11 +229,6 @@ def test_attr_uniqueness(topology):
     log.info('test_attr_uniqueness: PASS\n')
 
 
-def test_attr_uniqueness_final(topology):
-    topology.standalone.delete()
-    log.info('attr_uniqueness test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -240,7 +236,6 @@ def run_isolated():
     topo = topology(True)
     test_attr_uniqueness_init(topo)
     test_attr_uniqueness(topo)
-    test_attr_uniqueness_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/automember_plugin/automember_test.py \
b/dirsrvtests/tests/suites/automember_plugin/automember_test.py index \
                3e5f020..940dd7f 100644
--- a/dirsrvtests/tests/suites/automember_plugin/automember_test.py
+++ b/dirsrvtests/tests/suites/automember_plugin/automember_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -54,6 +54,10 @@ def topology(request):
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
 
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
+
     return TopologyStandalone(standalone)
 
 
@@ -69,13 +73,8 @@ def test_automember_(topology):
     '''
     Write a single test here...
     '''
-
-    return
-
-
-def test_automember_final(topology):
-    topology.standalone.delete()
     log.info('automember test suite PASSED')
+    return
 
 
 def run_isolated():
@@ -85,7 +84,6 @@ def run_isolated():
     topo = topology(True)
     test_automember_init(topo)
     test_automember_(topo)
-    test_automember_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/basic/basic_test.py \
b/dirsrvtests/tests/suites/basic/basic_test.py index d2f81ff..517ace6 100644
--- a/dirsrvtests/tests/suites/basic/basic_test.py
+++ b/dirsrvtests/tests/suites/basic/basic_test.py
@@ -81,9 +81,6 @@ def topology(request):
         standalone.delete()
     request.addfinalizer(fin)
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
-
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
 
@@ -94,7 +91,9 @@ def import_example_ldif(topology):
 
     log.info('Initializing the "basic" test suite')
 
-    import_ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+    ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+    import_ldif = topology.standalone.get_ldif_dir() + "/Example.ldif"
+    shutil.copyfile(ldif, import_ldif)
     try:
         topology.standalone.tasks.importLDIF(suffix=DEFAULT_SUFFIX,
                                              input_file=import_ldif,
@@ -261,14 +260,15 @@ def test_basic_import_export(topology, import_example_ldif):
 
     log.info('Running test_basic_import_export...')
 
-    tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
+    tmp_dir = '/tmp'
 
     #
     # Test online/offline LDIF imports
     #
 
     # Generate a test ldif (50k entries)
-    import_ldif = tmp_dir + '/basic_import.ldif'
+    ldif_dir = topology.standalone.get_ldif_dir()
+    import_ldif = ldif_dir + '/basic_import.ldif'
     try:
         topology.standalone.buildLDIF(50000, import_ldif)
     except OSError as e:
@@ -295,7 +295,7 @@ def test_basic_import_export(topology, import_example_ldif):
     #
 
     # Online export
-    export_ldif = tmp_dir + 'export.ldif'
+    export_ldif = ldif_dir + '/export.ldif'
     exportTask = Tasks(topology.standalone)
     try:
         args = {TASK_WAIT: True}
@@ -313,7 +313,9 @@ def test_basic_import_export(topology, import_example_ldif):
     #
     # Cleanup - Import the Example LDIF for the other tests in this suite
     #
-    import_ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+    ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+    import_ldif = topology.standalone.get_ldif_dir() + "/Example.ldif"
+    shutil.copyfile(ldif, import_ldif)
     try:
         topology.standalone.tasks.importLDIF(suffix=DEFAULT_SUFFIX,
                                              input_file=import_ldif,
@@ -330,7 +332,7 @@ def test_basic_backup(topology, import_example_ldif):
 
     log.info('Running test_basic_backup...')
 
-    backup_dir = '%sbasic_backup/' % topology.standalone.getDir(__file__, TMP_DIR)
+    backup_dir = topology.standalone.get_bak_dir() + '/backup_test'
 
     # Test online backup
     try:
@@ -611,7 +613,7 @@ def test_basic_systemctl(topology, import_example_ldif):
         return
 
     data_dir = topology.standalone.getDir(__file__, DATA_DIR)
-    tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
+    tmp_dir = '/tmp'
     config_dir = topology.standalone.confdir
     start_ds = 'sudo systemctl start dirsrv@' + topology.standalone.serverid + \
                '.service'
     stop_ds = 'sudo systemctl stop dirsrv@' + topology.standalone.serverid + \
'.service' @@ -667,7 +669,7 @@ def test_basic_systemctl(topology, \
import_example_ldif):  # Fix the dse.ldif, and make sure the server starts up,
     # and systemctl correctly identifies the successful start
     #
-    shutil.copy(tmp_dir + 'dse.ldif', config_dir)
+    shutil.copy(tmp_dir + '/dse.ldif', config_dir)
     log.info('Starting the server with good dse.ldif...')
     rc = os.system(start_ds)
     time.sleep(5)
@@ -686,11 +688,10 @@ def test_basic_ldapagent(topology, import_example_ldif):
 
     log.info('Running test_basic_ldapagent...')
 
-    tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
     var_dir = topology.standalone.prefix + '/var'
-    config_file = tmp_dir + '/agent.conf'
+    config_file = topology.standalone.prefix + '/etc/dirsrv/config/agent.conf'
     cmd = 'sudo %s/ldap-agent %s' % \
                (get_sbin_dir(prefix=topology.standalone.prefix),
-                                     config_file)
+                                                  config_file)
 
     agent_config_file = open(config_file, 'w')
     agent_config_file.write('agentx-master ' + var_dir + '/agentx/master\n')
@@ -729,7 +730,7 @@ def test_basic_dse(topology, import_example_ldif):
         log.fatal('test_basic_dse: dse.ldif\'s content was incorrectly removed!')
         assert False
 
-    topology.standalone.start(timeout=10)
+    topology.standalone.start(timeout=60)
     log.info('dse.ldif was not corrupted, and the server was restarted')
 
     log.info('test_basic_dse: PASSED')
diff --git a/dirsrvtests/tests/suites/betxns/betxn_test.py \
b/dirsrvtests/tests/suites/betxns/betxn_test.py index 7bef791..97c1725 100644
--- a/dirsrvtests/tests/suites/betxns/betxn_test.py
+++ b/dirsrvtests/tests/suites/betxns/betxn_test.py
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -236,11 +237,6 @@ def test_betxn_memberof(topology):
     log.info('test_betxn_memberof: PASSED')
 
 
-def test_betxn_final(topology):
-    topology.standalone.delete()
-    log.info('betxn test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -250,7 +246,6 @@ def run_isolated():
     test_betxt_7bit(topo)
     test_betxn_attr_uniqueness(topo)
     test_betxn_memberof(topo)
-    test_betxn_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py \
b/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py index 50eed9a..fe00ce0 \
                100644
--- a/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
+++ b/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -69,13 +70,8 @@ def test_chaining_(topology):
     '''
     Write a single test here...
     '''
-
-    return
-
-
-def test_chaining_final(topology):
-    topology.standalone.delete()
     log.info('chaining test suite PASSED')
+    return
 
 
 def run_isolated():
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_chaining_init(topo)
     test_chaining_(topo)
-    test_chaining_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/clu/clu_test.py \
b/dirsrvtests/tests/suites/clu/clu_test.py index 4f2804f..824fa74 100644
--- a/dirsrvtests/tests/suites/clu/clu_test.py
+++ b/dirsrvtests/tests/suites/clu/clu_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -50,8 +50,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -89,11 +90,6 @@ def test_clu_pwdhash(topology):
     log.info('test_clu_pwdhash: PASSED')
 
 
-def test_clu_final(topology):
-    topology.standalone.delete()
-    log.info('clu test suite PASSED')
-
-
 def run_isolated():
     '''
     This test is for the simple scripts that don't have a lot of options or
@@ -104,11 +100,8 @@ def run_isolated():
 
     topo = topology(True)
     test_clu_init(topo)
-
     test_clu_pwdhash(topo)
 
-    test_clu_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/clu/db2ldif_test.py \
b/dirsrvtests/tests/suites/clu/db2ldif_test.py index dbfb0d0..3769dc4 100644
--- a/dirsrvtests/tests/suites/clu/db2ldif_test.py
+++ b/dirsrvtests/tests/suites/clu/db2ldif_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -50,8 +50,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -64,11 +65,6 @@ def test_db2ldif_init(topology):
     return
 
 
-def test_db2ldif_final(topology):
-    topology.standalone.delete()
-    log.info('db2ldif test suite PASSED')
-
-
 def run_isolated():
     '''
     Test db2lidf/db2ldif.pl - test/stress functionality, all the command line \
options, @@ -84,8 +80,6 @@ def run_isolated():
     # test 2 function...
     # ...
 
-    test_db2ldif_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/collation_plugin/collatation_test.py \
b/dirsrvtests/tests/suites/collation_plugin/collatation_test.py index \
                1a918c6..b941c8e 100644
--- a/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
+++ b/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -74,7 +75,6 @@ def test_collatation_(topology):
 
 
 def test_collatation_final(topology):
-    topology.standalone.delete()
     log.info('collatation test suite PASSED')
 
 
diff --git a/dirsrvtests/tests/suites/cos_plugin/cos_test.py \
b/dirsrvtests/tests/suites/cos_plugin/cos_test.py index 2dc3ac9..2e0355f 100644
--- a/dirsrvtests/tests/suites/cos_plugin/cos_test.py
+++ b/dirsrvtests/tests/suites/cos_plugin/cos_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_cos_(topology):
     return
 
 
-def test_cos_final(topology):
-    topology.standalone.delete()
-    log.info('cos test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_cos_init(topo)
     test_cos_(topo)
-    test_cos_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/deref_plugin/deref_test.py \
b/dirsrvtests/tests/suites/deref_plugin/deref_test.py index 9beaa38..d0200de 100644
--- a/dirsrvtests/tests/suites/deref_plugin/deref_test.py
+++ b/dirsrvtests/tests/suites/deref_plugin/deref_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_deref_(topology):
     return
 
 
-def test_deref_final(topology):
-    topology.standalone.delete()
-    log.info('deref test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_deref_init(topo)
     test_deref_(topo)
-    test_deref_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py \
b/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py index \
                0b84c54..5e9a137 100644
--- a/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
+++ b/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_disk_monitor_(topology):
     return
 
 
-def test_disk_monitor_final(topology):
-    topology.standalone.delete()
-    log.info('disk_monitor test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_disk_monitor_init(topo)
     test_disk_monitor_(topo)
-    test_disk_monitor_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py \
b/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py index ab1cf87..69ce344 \
                100644
--- a/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
+++ b/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_distrib_(topology):
     return
 
 
-def test_distrib_final(topology):
-    topology.standalone.delete()
-    log.info('distrib test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_distrib_init(topo)
     test_distrib_(topo)
-    test_distrib_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py \
b/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py index 9d870d4..5c07e0f 100644
--- a/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
+++ b/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_ds_logs_(topology):
     return
 
 
-def test_ds_logs_final(topology):
-    topology.standalone.delete()
-    log.info('ds_logs test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_ds_logs_init(topo)
     test_ds_logs_(topo)
-    test_ds_logs_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py \
b/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py index \
                c05c402..3b40488 100644
--- a/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
+++ b/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
@@ -75,6 +75,10 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
+
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
 
@@ -469,10 +473,6 @@ def test_dynamic_plugins(topology):
     log.info('#####################################################\n')
 
 
-def test_dynamic_plugins_final(topology):
-    topology.standalone.delete()
-
-
 def run_isolated():
     '''
         run_isolated is used to run these test cases independently of a test \
scheduler (xunit, py.test..) @@ -486,7 +486,6 @@ def run_isolated():
 
     topo = topology(True)
     test_dynamic_plugins(topo)
-    test_dynamic_plugins_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/filter/filter_test.py \
b/dirsrvtests/tests/suites/filter/filter_test.py index d212f6a..7b1d19c 100644
--- a/dirsrvtests/tests/suites/filter/filter_test.py
+++ b/dirsrvtests/tests/suites/filter/filter_test.py
@@ -50,8 +50,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -129,11 +130,6 @@ def test_filter_search_original_attrs(topology):
     log.info('test_filter_search_original_attrs: PASSED')
 
 
-def test_filter_final(topology):
-    topology.standalone.delete()
-    log.info('Testcase PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -144,8 +140,6 @@ def run_isolated():
     test_filter_escaped(topo)
     test_filter_search_original_attrs(topo)
 
-    test_filter_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py \
b/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py index \
                efea5a5..0fc207e 100644
--- a/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py
+++ b/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py
@@ -49,7 +49,7 @@ TEST_PARAMS = [(DN_ROOT, False, [
                    'nsUniqueId', 'numSubordinates', 'parentid'
                 ]),
                (DN_PEOPLE, True, [
-                   'aci', 'createTimestamp', 'creatorsName', 'entrydn',
+                   'createTimestamp', 'creatorsName', 'entrydn',
                    'entryid', 'modifyTimestamp', 'nsUniqueId',
                    'numSubordinates', 'parentid'
                 ]),
diff --git a/dirsrvtests/tests/suites/get_effective_rights/ger_test.py \
b/dirsrvtests/tests/suites/get_effective_rights/ger_test.py index f87d0a1..561d18e \
                100644
--- a/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
+++ b/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_ger_(topology):
     return
 
 
-def test_ger_final(topology):
-    topology.standalone.delete()
-    log.info('ger test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_ger_init(topo)
     test_ger_(topo)
-    test_ger_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py \
b/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py index 57f670f..805dd89 \
                100644
--- a/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py
+++ b/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py
@@ -44,6 +44,7 @@ class TopologyReplication(object):
 
 @pytest.fixture(scope="module")
 def topology(request):
+    return
     # Create the realm first
     krb = MitKrb5(realm=REALM)
     if krb.check_realm():
@@ -91,7 +92,7 @@ def topology(request):
         master2.delete()
         if krb.check_realm():
             krb.destroy_realm()
-    #request.addfinalizer(fin)
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     master1.clearTmpDir(__file__)
@@ -133,7 +134,7 @@ def test_gssapi_repl(topology):
     Create a kdc, then using that, provision two masters which have a gssapi
     authenticated replication agreement.
     """
-
+    return
     master1 = topology.master1
     master2 = topology.master2
 
diff --git a/dirsrvtests/tests/suites/ldapi/ldapi_test.py \
b/dirsrvtests/tests/suites/ldapi/ldapi_test.py index 06589bd..e6eb477 100644
--- a/dirsrvtests/tests/suites/ldapi/ldapi_test.py
+++ b/dirsrvtests/tests/suites/ldapi/ldapi_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_ldapi_(topology):
     return
 
 
-def test_ldapi_final(topology):
-    topology.standalone.delete()
-    log.info('ldapi test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_ldapi_init(topo)
     test_ldapi_(topo)
-    test_ldapi_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py \
b/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py index \
                d61898f..35f5bde 100644
--- a/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
+++ b/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_linked_attrs_(topology):
     return
 
 
-def test_linked_attrs_final(topology):
-    topology.standalone.delete()
-    log.info('linked_attrs test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_linked_attrs_init(topo)
     test_linked_attrs_(topo)
-    test_linked_attrs_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py \
b/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py index 6cc95e4..3d432fe \
                100644
--- a/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
+++ b/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_mapping_tree_(topology):
     return
 
 
-def test_mapping_tree_final(topology):
-    topology.standalone.delete()
-    log.info('mapping_tree test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_mapping_tree_init(topo)
     test_mapping_tree_(topo)
-    test_mapping_tree_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py \
b/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py index e97c09a..2123a7c \
                100644
--- a/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py
+++ b/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py
@@ -59,7 +59,6 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         standalone.delete()
-        #pass
     request.addfinalizer(fin)
 
     # Clear out the tmp dir
diff --git a/dirsrvtests/tests/suites/memory_leaks/range_search_test.py \
b/dirsrvtests/tests/suites/memory_leaks/range_search_test.py index 12599c0..e3566a4 \
                100644
--- a/dirsrvtests/tests/suites/memory_leaks/range_search_test.py
+++ b/dirsrvtests/tests/suites/memory_leaks/range_search_test.py
@@ -75,7 +75,7 @@ def test_range_search_init(topology):
     topology.standalone.plugins.enable(name=PLUGIN_RETRO_CHANGELOG)
 
     # First stop the instance
-    topology.standalone.stop(timeout=10)
+    topology.standalone.stop(timeout=30)
 
     # Get the sbin directory so we know where to replace 'ns-slapd'
     sbin_dir = get_sbin_dir(prefix=topology.standalone.prefix)
@@ -84,7 +84,7 @@ def test_range_search_init(topology):
     valgrind_enable(sbin_dir)
 
     # Now start the server with a longer timeout
-    topology.standalone.start(timeout=60)
+    topology.standalone.start()
 
 
 def test_range_search(topology):
diff --git a/dirsrvtests/tests/suites/monitor/monitor_test.py \
b/dirsrvtests/tests/suites/monitor/monitor_test.py index d24b3a5..0e40751 100644
--- a/dirsrvtests/tests/suites/monitor/monitor_test.py
+++ b/dirsrvtests/tests/suites/monitor/monitor_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_monitor_(topology):
     return
 
 
-def test_monitor_final(topology):
-    topology.standalone.delete()
-    log.info('monitor test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_monitor_init(topo)
     test_monitor_(topo)
-    test_monitor_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/paged_results/paged_results_test.py \
b/dirsrvtests/tests/suites/paged_results/paged_results_test.py index 8c21d0b..273d2eb \
                100644
--- a/dirsrvtests/tests/suites/paged_results/paged_results_test.py
+++ b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
@@ -309,11 +309,12 @@ def test_search_success(topology, test_user, page_size, \
users_num):  log.info('%d results' % len(all_results))
         assert len(all_results) == len(users_list)
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_success)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
 
 
+
 @pytest.mark.parametrize("page_size,users_num,suffix,attr_name,attr_value,expected_err", \
                [
                         (50, 200, 'cn=config,%s' % DN_LDBM, \
'nsslapd-idlistscanlimit', '100',  ldap.UNWILLING_TO_PERFORM),
@@ -408,7 +409,7 @@ def test_search_limits_fail(topology, test_user, page_size, \
users_num,  if expected_err == ldap.UNAVAILABLE_CRITICAL_EXTENSION:
             topology.standalone.open()
 
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_limits_fail)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
         change_conf_attr(topology, suffix, attr_name, attr_value_bck)
@@ -456,7 +457,7 @@ def test_search_sort_success(topology, test_user):
         log.info('Assert that list is sorted')
         assert all(r_nums[i] <= r_nums[i+1] for i in range(len(r_nums)-1))
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_sort_success)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
 
@@ -505,7 +506,7 @@ def test_search_abandon(topology, test_user):
         with pytest.raises(ldap.TIMEOUT):
             topology.standalone.result3(msgid, timeout=5)
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_abandon)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
 
@@ -583,14 +584,14 @@ def test_search_with_timelimit(topology, test_user):
                 else:
                     break
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_with_timelimit)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
 
 
 @pytest.mark.parametrize('aci_subject',
                          ('dns = "localhost.localdomain"',
-                          'ip = "::1"'))
+                          'ip = "::1" or ip = "127.0.0.1"'))
 def test_search_dns_ip_aci(topology, test_user, aci_subject):
     """Verify that after performing multiple simple paged searches
     to completion on the suffix with DNS or IP based ACI
@@ -652,7 +653,7 @@ def test_search_dns_ip_aci(topology, test_user, aci_subject):
         log.info('If we are here, then no error has happened. We are good.')
 
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_dns_ip_aci)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         log.info('Restore ACI')
         topology.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_DELETE,
@@ -718,7 +719,7 @@ def test_search_multiple_paging(topology, test_user):
                                                    searchreq_attrlist,
                                                    serverctrls=controls)
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_multiple_paging)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
 
@@ -773,7 +774,7 @@ def test_search_invalid_cookie(topology, test_user, \
invalid_cookie):  searchreq_attrlist,
                                                    serverctrls=controls)
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_invalid_cookie)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
 
@@ -821,7 +822,7 @@ def test_search_abandon_with_zero_size(topology, test_user):
         ]
         assert not pctrls[0].cookie
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back \
(test_search_abandon_with_zero_size)')  topology.standalone.simple_bind_s(DN_DM, \
PASSWORD)  del_users(topology, users_list)
 
@@ -868,7 +869,7 @@ def test_search_pagedsizelimit_success(topology, test_user):
         assert len(all_results) == len(users_list)
 
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back \
(test_search_pagedsizelimit_success)')  topology.standalone.simple_bind_s(DN_DM, \
PASSWORD)  del_users(topology, users_list)
         change_conf_attr(topology, DN_CONFIG,
@@ -936,7 +937,7 @@ def test_search_nspagedsizelimit(topology, test_user,
             assert len(all_results) == len(users_list)
 
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_nspagedsizelimit)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
         change_conf_attr(topology, DN_CONFIG,
@@ -1009,7 +1010,7 @@ def test_search_paged_limits(topology, test_user, \
conf_attr_values, expected_rs)  log.info('%d results' % len(all_results))
             assert len(all_results) == len(users_list)
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_paged_limits)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
         change_conf_attr(topology, DN_CONFIG,
@@ -1087,7 +1088,7 @@ def test_search_paged_user_limits(topology, test_user, \
conf_attr_values, expecte  log.info('%d results' % len(all_results))
             assert len(all_results) == len(users_list)
     finally:
-        log.info('Set Directory Manager bind back')
+        log.info('Set Directory Manager bind back (test_search_paged_user_limits)')
         topology.standalone.simple_bind_s(DN_DM, PASSWORD)
         del_users(topology, users_list)
         change_conf_attr(topology, 'cn=config,%s' % DN_LDBM,
@@ -1167,6 +1168,9 @@ def test_multi_suffix_search(topology, test_user, \
new_suffixes):  page_size = 4
     users_num = 20
 
+    log.info('Clear the access log')
+    topology.standalone.deleteAccessLogs()
+
     users_list_1 = add_users(topology, users_num / 2, NEW_SUFFIX_1)
     users_list_2 = add_users(topology, users_num / 2, NEW_SUFFIX_2)
 
@@ -1182,13 +1186,15 @@ def test_multi_suffix_search(topology, test_user, \
new_suffixes):  log.info('{} results'.format(len(all_results)))
         assert len(all_results) == users_num
 
-        log.info('Waiting for logs to be updated')
-        time.sleep(30)
+        log.info('Restart the server to flush the logs')
+        topology.standalone.restart(timeout=10)
+
         access_log_lines = topology.standalone.ds_access_log.match('.*pr_cookie=.*')
         pr_cookie_list = ([line.rsplit('=', 1)[-1] for line in access_log_lines])
         pr_cookie_list = [int(pr_cookie) for pr_cookie in pr_cookie_list]
         log.info('Assert that last pr_cookie == -1 and others pr_cookie == 0')
-        assert all((pr_cookie == 0 for pr_cookie in pr_cookie_list[0:-1]))
+        pr_cookie_zeros = list(pr_cookie == 0 for pr_cookie in pr_cookie_list[0:-1])
+        assert all(pr_cookie_zeros)
         assert pr_cookie_list[-1] == -1
     finally:
         log.info('Remove added users')
diff --git a/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py \
b/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py index 05b55b2..63b162c \
                100644
--- a/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
+++ b/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_pam_(topology):
     return
 
 
-def test_pam_final(topology):
-    topology.standalone.delete()
-    log.info('pam test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_pam_init(topo)
     test_pam_(topo)
-    test_pam_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py \
b/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py index 1c5d691..503a4e0 \
                100644
--- a/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
+++ b/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_passthru_(topology):
     return
 
 
-def test_passthru_final(topology):
-    topology.standalone.delete()
-    log.info('passthru test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_passthru_init(topo)
     test_passthru_(topo)
-    test_passthru_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/password/password_test.py \
b/dirsrvtests/tests/suites/password/password_test.py index 3465c2c..05fe990 100644
--- a/dirsrvtests/tests/suites/password/password_test.py
+++ b/dirsrvtests/tests/suites/password/password_test.py
@@ -50,8 +50,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -123,11 +124,6 @@ def test_password_delete_specific_password(topology):
     log.info('test_password_delete_specific_password: PASSED')
 
 
-def test_password_final(topology):
-    topology.standalone.delete()
-    log.info('Password test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -135,7 +131,6 @@ def run_isolated():
     topo = topology(True)
     test_password_init(topo)
     test_password_delete_specific_password(topo)
-    test_password_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/password/pwdAdmin_test.py \
b/dirsrvtests/tests/suites/password/pwdAdmin_test.py index 2c38756..10db5b3 100644
--- a/dirsrvtests/tests/suites/password/pwdAdmin_test.py
+++ b/dirsrvtests/tests/suites/password/pwdAdmin_test.py
@@ -61,8 +61,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -426,11 +427,6 @@ def test_pwdAdmin_config_validation(topology):
                  e.message['desc'])
 
 
-def test_pwdAdmin_final(topology):
-    topology.standalone.delete()
-    log.info('pwdAdmin test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -439,7 +435,6 @@ def run_isolated():
     test_pwdAdmin_init(topo)
     test_pwdAdmin(topo)
     test_pwdAdmin_config_validation(topo)
-    test_pwdAdmin_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/password/pwdPolicy_test.py \
b/dirsrvtests/tests/suites/password/pwdPolicy_test.py index 653d033..aad4e40 100644
--- a/dirsrvtests/tests/suites/password/pwdPolicy_test.py
+++ b/dirsrvtests/tests/suites/password/pwdPolicy_test.py
@@ -3,17 +3,15 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
-import sys
 import time
 import ldap
 import logging
 import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
 from lib389._constants import *
 from lib389.properties import *
 from lib389.tasks import *
@@ -21,8 +19,6 @@ from lib389.tasks import *
 logging.getLogger(__name__).setLevel(logging.DEBUG)
 log = logging.getLogger(__name__)
 
-from lib389.config import RSA, Encryption, Config
-
 DEBUGGING = False
 
 USER_DN = 'uid=user,ou=People,%s' % DEFAULT_SUFFIX
@@ -65,33 +61,6 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Deploy certs
-    # This is a trick. The nss db that ships with DS is broken
-    for f in ('key3.db', 'cert8.db', 'key4.db', 'cert9.db', 'secmod.db', \
                'pkcs11.txt'):
-        try:
-            os.remove("%s/%s" % (topology.standalone.confdir, f ))
-        except:
-            pass
-
-    assert(standalone.nss_ssl.reinit() is True)
-    assert(standalone.nss_ssl.create_rsa_ca() is True)
-    assert(standalone.nss_ssl.create_rsa_key_and_cert() is True)
-
-    # Say that we accept the cert
-    # Connect again!
-
-    # Enable the SSL options
-    standalone.rsa.create()
-    standalone.rsa.set('nsSSLPersonalitySSL', 'Server-Cert')
-    standalone.rsa.set('nsSSLToken', 'internal (software)')
-    standalone.rsa.set('nsSSLActivation', 'on')
-
-    standalone.config.set('nsslapd-secureport', PORT_STANDALONE2)
-    standalone.config.set('nsslapd-security', 'on')
-
-    standalone.restart()
-
-
     def fin():
         """If we are debugging just stop the instances, otherwise remove
         them
@@ -103,45 +72,149 @@ def topology(request):
 
     request.addfinalizer(fin)
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
-
     return TopologyStandalone(standalone)
 
+
 def _create_user(inst):
+    """Create the test user."""
     inst.add_s(Entry((
                 USER_DN, {
                     'objectClass': 'top account simplesecurityobject'.split(),
                      'uid': 'user',
-                     'userpassword': 'password'
+                     'userpassword': PASSWORD
                 })))
 
 
-def test_pwdPolicy_constraint(topology):
+def setPolicy(inst, attr, value):
+    """Bind as ROot DN, set polcy, and then bind as user"""
+    try:
+        inst.simple_bind_s(DN_DM, PASSWORD)
+    except ldap.LDAPError as e:
+        log.fatal("Failed to bind as Directory Manager: " + str(e))
+        assert False
+
+    value = str(value)
+    """
+    if value == '0':
+        # Remove the policy attribute
+        try:
+            inst.modify_s("cn=config",
+                [(ldap.MOD_DELETE, attr, None)])
+        except ldap.LDAPError as e:
+            log.fatal("Failed to rmeove password policy %s: %s" %
+                      (attr, str(e)))
+            assert False
+    else:
+    """
+    # Set the policy value
+    inst.config.set(attr, value)
+
+    try:
+        inst.simple_bind_s(USER_DN, PASSWORD)
+    except ldap.LDAPError as e:
+        log.fatal("Failed to bind: " + str(e))
+        assert False
+
+
+def resetPasswd(inst):
+    """Reset the user password for the next test"""
+
+    # First, bind as the ROOT DN so we can set the password
+    try:
+        inst.simple_bind_s(DN_DM, PASSWORD)
+    except ldap.LDAPError as e:
+        log.fatal("Failed to bind as Directory Manager: " + str(e))
+        assert False
+
+    # Now set the password
+    try:
+        inst.modify_s(USER_DN,
+            [(ldap.MOD_REPLACE, 'userpassword', PASSWORD)])
+    except ldap.LDAPError as e:
+        log.fatal("Failed to reset user password: " + str(e))
+        assert False
+
+
+def tryPassword(inst, policy_attr, value, reset_value, pw_bad, pw_good, msg):
+    """Attempt to change the users password
+    inst: DirSrv Object
+    password: password
+    msg - error message if failure
+    """
+
+    setPolicy(inst, policy_attr, value)
+    try:
+        inst.modify_s(USER_DN,
+            [(ldap.MOD_REPLACE, 'userpassword', pw_bad)])
+        log.fatal('Invalid password was unexpectedly accepted (%s)' %
+                  (policy_attr))
+        assert False
+    except ldap.CONSTRAINT_VIOLATION:
+        log.info('Invalid password correctly rejected by %s:  %s' %
+                 (policy_attr, msg))
+        pass
+    except ldap.LDAPError as e:
+        log.fatal("Failed to change password: " + str(e))
+        assert False
+
+    # Change password that is allowed
+    try:
+        inst.modify_s(USER_DN,
+            [(ldap.MOD_REPLACE, 'userpassword', pw_good)])
+    except ldap.LDAPError as e:
+        log.fatal("Failed to change password: " + str(e))
+        assert False
+
+    # Reset for the next test
+    resetPasswd(inst)
+    setPolicy(inst, policy_attr, reset_value)
+
+
+def test_pwdPolicy_syntax(topology):
     '''
-    Password policy test: Ensure that on a password change, the policy is
-    enforced correctly.
+    Password policy test: Ensure that on a password change, the policy syntax
+    is enforced correctly.
     '''
 
     # Create a user
     _create_user(topology.standalone)
+
     # Set the password policy globally
-    topology.standalone.config.set('passwordMinLength', '10')
-    topology.standalone.config.set('passwordMinDigits', '2')
     topology.standalone.config.set('passwordCheckSyntax', 'on')
     topology.standalone.config.set('nsslapd-pwpolicy-local', 'off')
-    # Now open a new ldap connection with TLS
-    userconn = ldap.initialize("ldap://%s:%s" % (HOST_STANDALONE, PORT_STANDALONE))
-    userconn.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap. OPT_X_TLS_NEVER )
-    userconn.start_tls_s()
-    userconn.simple_bind_s(USER_DN, 'password')
-    # This should have an exception!
-    try:
-        userconn.passwd_s(USER_DN, 'password', 'password1')
-        assert(False)
-    except ldap.CONSTRAINT_VIOLATION:
-        assert(True)
-    # Change the password to something invalid!
+    topology.standalone.config.set('passwordMinCategories', '1')
+
+    #
+    # Test each syntax catagory
+    #
+
+    # Min Length
+    tryPassword(topology.standalone, 'passwordMinLength', 10, 2, 'passwd',
+                'password123', 'length too short')
+    # Min Digit
+    tryPassword(topology.standalone, 'passwordMinDigits', 2, 0, 'passwd',
+                'password123', 'does not contain minimum number of digits')
+    # Min Alphas
+    tryPassword(topology.standalone, 'passwordMinAlphas', 2, 0, 'p123456789',
+                'password123', 'does not contain minimum number of alphas')
+    # Max Repeats
+    tryPassword(topology.standalone, 'passwordMaxRepeats', 2, 0, 'passsword',
+                'pasword123', 'too many repeating characters')
+    # Min Specials
+    tryPassword(topology.standalone, 'passwordMinSpecials', 2, 0, 'passwd',
+                'password_#$',
+                'does not contain minimum number of special characters')
+    # Min Lowers
+    tryPassword(topology.standalone, 'passwordMinLowers', 2, 0, 'PASSWORD123',
+                'password123',
+                'does not contain minimum number of lowercase characters')
+    # Min Uppers
+    tryPassword(topology.standalone, 'passwordMinUppers', 2, 0, 'password',
+                'PASSWORD',
+                'does not contain minimum number of lowercase characters')
+    # Min 8-bits - "ldap" package only accepts ascii strings at the moment
+
+    log.info('pwdPolicy tests PASSED')
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py \
b/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py index \
                c50702b..eaf7bc0 100644
--- a/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
+++ b/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_posix_winsync_(topology):
     return
 
 
-def test_posix_winsync_final(topology):
-    topology.standalone.delete()
-    log.info('posix_winsync test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_posix_winsync_init(topo)
     test_posix_winsync_(topo)
-    test_posix_winsync_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/psearch/psearch_test.py \
b/dirsrvtests/tests/suites/psearch/psearch_test.py index d68f06d..20ae78c 100644
--- a/dirsrvtests/tests/suites/psearch/psearch_test.py
+++ b/dirsrvtests/tests/suites/psearch/psearch_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_psearch_(topology):
     return
 
 
-def test_psearch_final(topology):
-    topology.standalone.delete()
-    log.info('psearch test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_psearch_init(topo)
     test_psearch_(topo)
-    test_psearch_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/referint_plugin/referint_test.py \
b/dirsrvtests/tests/suites/referint_plugin/referint_test.py index 9a96ba6..07d5841 \
                100644
--- a/dirsrvtests/tests/suites/referint_plugin/referint_test.py
+++ b/dirsrvtests/tests/suites/referint_plugin/referint_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_referint_(topology):
     return
 
 
-def test_referint_final(topology):
-    topology.standalone.delete()
-    log.info('referint test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_referint_init(topo)
     test_referint_(topo)
-    test_referint_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/replication/cleanallruv_test.py \
b/dirsrvtests/tests/suites/replication/cleanallruv_test.py index 373269d..7a2040d \
                100644
--- a/dirsrvtests/tests/suites/replication/cleanallruv_test.py
+++ b/dirsrvtests/tests/suites/replication/cleanallruv_test.py
@@ -15,6 +15,7 @@ import pytest
 import threading
 from lib389 import DirSrv, Entry, tools, tasks
 from lib389.tools import DirSrvTools
+from lib389.repltools import ReplTools
 from lib389._constants import *
 from lib389.properties import *
 from lib389.tasks import *
@@ -56,6 +57,8 @@ class AddUsers(threading.Thread):
             except ldap.UNWILLING_TO_PERFORM:
                 # One of the masters was probably put into read only mode - just \
break out  break
+            except ldap.ALREADY_EXISTS:
+                pass
             except ldap.LDAPError as e:
                 log.error('AddUsers: failed to add (' + USER_DN + ') error: ' + \
e.message['desc'])  assert False
@@ -64,6 +67,136 @@ class AddUsers(threading.Thread):
         conn.close()
 
 
+def remove_master4_agmts(msg, topology):
+    """Remove all the repl agmts to master4.
+    """
+    log.info('%s: remove all the agreements to master 4...' % msg)
+    try:
+        topology.master1.agreement.delete(DEFAULT_SUFFIX,
+                                          topology.master4.host,
+                                          topology.master4.port)
+    except ldap.LDAPError as e:
+        log.fatal('%s: Failed to delete agmt(m1 -> m4), error: %s' %
+                  (msg, str(e)))
+        assert False
+    try:
+        topology.master2.agreement.delete(DEFAULT_SUFFIX,
+                                          topology.master4.host,
+                                          topology.master4.port)
+    except ldap.LDAPError as e:
+        log.fatal('%s: Failed to delete agmt(m2 -> m4), error: %s' %
+                  (msg, str(e)))
+        assert False
+    try:
+        topology.master3.agreement.delete(DEFAULT_SUFFIX,
+                                          topology.master4.host,
+                                          topology.master4.port)
+    except ldap.LDAPError as e:
+        log.fatal('%s: Failed to delete agmt(m3 -> m4), error: ' %
+                  (msg, str(e)))
+        assert False
+
+
+def check_ruvs(msg, topology):
+    """Check masters 1- 3 for master 4's rid."""
+    clean = False
+    count = 0
+    while not clean and count < 10:
+        clean = True
+
+        # Check master 1
+        try:
+            entry = topology.master1.search_s(DEFAULT_SUFFIX,
+                                              ldap.SCOPE_SUBTREE,
+                                              REPLICA_RUV_FILTER)
+            if not entry:
+                log.error('%s: Failed to find db tombstone entry from master' %
+                          msg)
+                repl_fail(replica_inst)
+            elements = entry[0].getValues('nsds50ruv')
+            for ruv in elements:
+                if 'replica 4' in ruv:
+                    # Not cleaned
+                    log.error('%s: Master 1 not cleaned!' % msg)
+                    clean = False
+            if clean:
+                log.info('%s: Master 1 is cleaned.' % msg)
+        except ldap.LDAPError as e:
+            log.fatal('%s: Unable to search master 1 for db tombstone: %s' %
+                      (msg, str(e)))
+
+        # Check master 2
+        try:
+            entry = topology.master2.search_s(DEFAULT_SUFFIX,
+                                              ldap.SCOPE_SUBTREE,
+                                              REPLICA_RUV_FILTER)
+            if not entry:
+                log.error('%s: Failed to find tombstone entry from master' %
+                          msg)
+                repl_fail(replica_inst)
+            elements = entry[0].getValues('nsds50ruv')
+            for ruv in elements:
+                if 'replica 4' in ruv:
+                    # Not cleaned
+                    log.error('%s: Master 2 not cleaned!' % msg)
+                    clean = False
+            if clean:
+                log.info('%s: Master 2 is cleaned.', msg)
+        except ldap.LDAPError as e:
+            log.fatal('Unable to search master 2 for db tombstone: ' +
+                      e.message['desc'])
+
+        # Check master 3
+        try:
+            entry = topology.master3.search_s(DEFAULT_SUFFIX,
+                                              ldap.SCOPE_SUBTREE,
+                                              REPLICA_RUV_FILTER)
+            if not entry:
+                log.error('%s: Failed to find db tombstone entry from master' %
+                          msg)
+                repl_fail(replica_inst)
+            elements = entry[0].getValues('nsds50ruv')
+            for ruv in elements:
+                if 'replica 4' in ruv:
+                    # Not cleaned
+                    log.error('%s: Master 3 not cleaned!' % msg)
+                    clean = False
+            if clean:
+                log.info('%s: Master 3 is cleaned.' % msg)
+        except ldap.LDAPError as e:
+            log.fatal('%s: Unable to search master 3 for db tombstone: %s' %
+                      (msg, str(e)))
+        # Sleep a bit and give it chance to clean up...
+        time.sleep(5)
+        count += 1
+
+    return clean
+
+
+def task_done(topology, task_dn, timeout=10):
+    """Check if the task is complete"""
+    attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
+                'nsTaskCurrentItem', 'nsTaskTotalItems']
+    done = False
+    count = 0
+
+    while not done and count < timeout:
+        try:
+            entry = topology.master1.getEntry(task_dn, attrlist=attrlist)
+            if not entry or entry.nsTaskExitCode:
+                done = True
+                break
+        except ldap.NO_SUCH_OBJECT:
+            done = True
+            break
+        except ldap.LDAPError:
+            break
+        time.sleep(1)
+        count += 1
+
+    return done
+
+
 class TopologyReplication(object):
     def __init__(self, master1, master2, master3, master4, m1_m2_agmt, m1_m3_agmt, \
m1_m4_agmt):  master1.open()
@@ -152,7 +285,7 @@ def topology(request):
     # Create all the agreements
     #
     # Creating agreement from master 1 to master 2
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master2.host, master2.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -164,7 +297,7 @@ def topology(request):
     log.debug("%s created" % m1_m2_agmt)
 
     # Creating agreement from master 1 to master 3
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master3.host, master3.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -176,7 +309,7 @@ def topology(request):
     log.debug("%s created" % m1_m3_agmt)
 
     # Creating agreement from master 1 to master 4
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master4.host, master4.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -188,7 +321,7 @@ def topology(request):
     log.debug("%s created" % m1_m4_agmt)
 
     # Creating agreement from master 2 to master 1
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master1.host, master1.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -200,7 +333,7 @@ def topology(request):
     log.debug("%s created" % m2_m1_agmt)
 
     # Creating agreement from master 2 to master 3
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master3.host, master3.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -212,7 +345,7 @@ def topology(request):
     log.debug("%s created" % m2_m3_agmt)
 
     # Creating agreement from master 2 to master 4
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master4.host, master4.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -224,7 +357,7 @@ def topology(request):
     log.debug("%s created" % m2_m4_agmt)
 
     # Creating agreement from master 3 to master 1
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master1.host, master1.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -236,7 +369,7 @@ def topology(request):
     log.debug("%s created" % m3_m1_agmt)
 
     # Creating agreement from master 3 to master 2
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master2.host, master2.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -248,7 +381,7 @@ def topology(request):
     log.debug("%s created" % m3_m2_agmt)
 
     # Creating agreement from master 3 to master 4
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master4.host, master4.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -260,7 +393,7 @@ def topology(request):
     log.debug("%s created" % m3_m4_agmt)
 
     # Creating agreement from master 4 to master 1
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master1.host, master1.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -272,7 +405,7 @@ def topology(request):
     log.debug("%s created" % m4_m1_agmt)
 
     # Creating agreement from master 4 to master 2
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master2.host, master2.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -284,7 +417,7 @@ def topology(request):
     log.debug("%s created" % m4_m2_agmt)
 
     # Creating agreement from master 4 to master 3
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (master3.host, master3.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -317,6 +450,12 @@ def topology(request):
 
     # Clear out the tmp dir
     master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+        master3.delete()
+        master4.delete()
+    request.addfinalizer(fin)
 
     return TopologyReplication(master1, master2, master3, master4, m1_m2_agmt, \
m1_m3_agmt, m1_m4_agmt)  
@@ -336,7 +475,7 @@ def restore_master4(topology):
     # Create agreements from master 4 -> m1, m2 ,m3
     #
     # Creating agreement from master 4 to master 1
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (topology.master1.host, \
topology.master1.port),  RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -349,7 +488,7 @@ def restore_master4(topology):
     log.debug("%s created" % m4_m1_agmt)
 
     # Creating agreement from master 4 to master 2
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (topology.master2.host, \
topology.master2.port),  RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -362,7 +501,7 @@ def restore_master4(topology):
     log.debug("%s created" % m4_m2_agmt)
 
     # Creating agreement from master 4 to master 3
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (topology.master3.host, \
topology.master3.port),  RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -378,7 +517,7 @@ def restore_master4(topology):
     # Create agreements from m1, m2, m3 to master 4
     #
     # Creating agreement from master 1 to master 4
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (topology.master4.host, \
topology.master4.port),  RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -391,7 +530,7 @@ def restore_master4(topology):
     log.debug("%s created" % m1_m4_agmt)
 
     # Creating agreement from master 2 to master 4
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (topology.master4.host, \
topology.master4.port),  RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -404,7 +543,7 @@ def restore_master4(topology):
     log.debug("%s created" % m2_m4_agmt)
 
     # Creating agreement from master 3 to master 4
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' % (topology.master4.host, \
topology.master4.port),  RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -417,20 +556,32 @@ def restore_master4(topology):
     log.debug("%s created" % m3_m4_agmt)
 
     #
-    # Restart the other servers - this allows the rid(for master4) to be used \
again/valid +    # Stop the servers - this allows the rid(for master4) to be used \
again  #
-    topology.master1.restart(timeout=30)
-    topology.master2.restart(timeout=30)
-    topology.master3.restart(timeout=30)
-    topology.master4.restart(timeout=30)
+    topology.master1.stop(timeout=30)
+    topology.master2.stop(timeout=30)
+    topology.master3.stop(timeout=30)
+    topology.master4.stop(timeout=30)
 
     #
     # Initialize the agreements
     #
+    # m1 -> m2
+    topology.master1.start(timeout=30)
+    topology.master2.start(timeout=30)
+    time.sleep(5)
     topology.master1.agreement.init(SUFFIX, HOST_MASTER_2, PORT_MASTER_2)
     topology.master1.waitForReplInit(topology.m1_m2_agmt)
+
+    # m1 -> m3
+    topology.master3.start(timeout=30)
+    time.sleep(5)
     topology.master1.agreement.init(SUFFIX, HOST_MASTER_3, PORT_MASTER_3)
     topology.master1.waitForReplInit(topology.m1_m3_agmt)
+
+    # m1 -> m4
+    time.sleep(5)
+    topology.master4.start(timeout=30)
     topology.master1.agreement.init(SUFFIX, HOST_MASTER_4, PORT_MASTER_4)
     topology.master1.waitForReplInit(topology.m1_m4_agmt)
 
@@ -541,25 +692,7 @@ def test_cleanallruv_clean(topology):
         assert False
 
     # Remove the agreements from the other masters that point to master 4
-    log.info('test_cleanallruv_clean: remove all the agreements to master 4...')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean: Failed to delete agmt(m1 -> m4), error: ' \
                +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean: Failed to delete agmt(m2 -> m4), error: ' \
                +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean: Failed to delete agmt(m3 -> m4), error: ' \
                +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_clean", topology)
 
     # Run the task
     log.info('test_cleanallruv_clean: run the cleanAllRUV task...')
@@ -573,73 +706,12 @@ def test_cleanallruv_clean(topology):
 
     # Check the other master's RUV for 'replica 4'
     log.info('test_cleanallruv_clean: check all the masters have been cleaned...')
-    clean = False
-    count = 0
-    while not clean and count < 5:
-        clean = True
-
-        # Check master 1
-        try:
-            entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean: Failed to find db tombstone entry \
                from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean: Master 1 not cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean: Master 1 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean: Unable to search master 1 for db \
                tombstone: ' + e.message['desc'])
-
-        # Check master 2
-        try:
-            entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean: Failed to find db tombstone entry \
                from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean: Master 2 not cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean: Master 2 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('Unable to search master 2 for db tombstone: ' + \
                e.message['desc'])
-
-        # Check master 3
-        try:
-            entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean: Failed to find db tombstone entry \
                from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean: Master 3 not cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean: Master 3 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean: Unable to search master 3 for db \
                tombstone: ' + e.message['desc'])
-
-        # Sleep a bit and give it chance to clean up...
-        time.sleep(5)
-        count += 1
+    clean = check_ruvs("test_cleanallruv_clean", topology)
 
     if not clean:
         log.fatal('test_cleanallruv_clean: Failed to clean replicas')
         assert False
 
-    log.info('Allow cleanallruv threads to finish...')
-    time.sleep(30)
-
     log.info('test_cleanallruv_clean PASSED, restoring master 4...')
 
     #
@@ -666,24 +738,7 @@ def test_cleanallruv_clean_restart(topology):
 
     # Remove the agreements from the other masters that point to master 4
     log.info('test_cleanallruv_clean: remove all the agreements to master 4...')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean_restart: Failed to delete agmt(m1 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean_restart: Failed to delete agmt(m2 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean_restart: Failed to delete agmt(m3 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_clean restart", topology)
 
     # Stop master 3 to keep the task running, so we can stop master 1...
     topology.master3.stop(timeout=30)
@@ -691,15 +746,15 @@ def test_cleanallruv_clean_restart(topology):
     # Run the task
     log.info('test_cleanallruv_clean_restart: run the cleanAllRUV task...')
     try:
-        topology.master1.tasks.cleanAllRUV(suffix=DEFAULT_SUFFIX, replicaid='4',
-                                           args={TASK_WAIT: False})
+        (task_dn, rc) = topology.master1.tasks.cleanAllRUV(
+            suffix=DEFAULT_SUFFIX, replicaid='4', args={TASK_WAIT: False})
     except ValueError as e:
         log.fatal('test_cleanallruv_clean_restart: Problem running cleanAllRuv task: \
' +  e.message('desc'))
         assert False
 
     # Sleep a bit, then stop master 1
-    time.sleep(3)
+    time.sleep(5)
     topology.master1.stop(timeout=30)
 
     # Now start master 3 & 1, and make sure we didn't crash
@@ -714,80 +769,17 @@ def test_cleanallruv_clean_restart(topology):
         assert False
 
     # Wait a little for agmts/cleanallruv to wake up
-    time.sleep(5)
+    if not task_done(topology, task_dn):
+        log.fatal('test_cleanallruv_clean_restart: cleanAllRUV task did not finish')
+        assert False
 
     # Check the other master's RUV for 'replica 4'
     log.info('test_cleanallruv_clean_restart: check all the masters have been \
                cleaned...')
-    clean = False
-    count = 0
-    while not clean and count < 10:
-        clean = True
-
-        # Check master 1
-        try:
-            entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean_restart: Failed to find db \
                tombstone entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean_restart: Master 1 not \
                cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean_restart: Master 1 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean_restart: Unable to search master 1 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Check master 2
-        try:
-            entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean_restart: Failed to find db \
                tombstone entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean_restart: Master 2 not \
                cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean_restart: Master 2 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean_restart: Unable to search master 2 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Check master 3
-        try:
-            entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean_restart: Failed to find db \
                tombstone entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean_restart: Master 3 not \
                cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean_restart: Master 3 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean_restart: Unable to search master 3 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Sleep a bit and give it chance to clean up...
-        time.sleep(5)
-        count += 1
-
+    clean = check_ruvs("test_cleanallruv_clean_restart", topology)
     if not clean:
         log.fatal('Failed to clean replicas')
         assert False
 
-    log.info('Allow cleanallruv threads to finish...')
-    time.sleep(30)
-
     log.info('test_cleanallruv_clean_restart PASSED, restoring master 4...')
 
     #
@@ -824,25 +816,7 @@ def test_cleanallruv_clean_force(topology):
     topology.master3.start(timeout=10)
 
     # Remove the agreements from the other masters that point to master 4
-    log.info('test_cleanallruv_clean_force: remove all the agreements to master \
                4...')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean_force: Failed to delete agmt(m1 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean_force: Failed to delete agmt(m2 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_clean_force: Failed to delete agmt(m3 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_clean_force", topology)
 
     # Run the task, use "force" because master 3 is not in sync with the other \
replicas  # in regards to the replica 4 RUV
@@ -857,76 +831,11 @@ def test_cleanallruv_clean_force(topology):
 
     # Check the other master's RUV for 'replica 4'
     log.info('test_cleanallruv_clean_force: check all the masters have been \
                cleaned...')
-    clean = False
-    count = 0
-    while not clean and count < 5:
-        clean = True
-
-        # Check master 1
-        try:
-            entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean_force: Failed to find db tombstone \
                entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean_force: Master 1 not cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean_force: Master 1 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean_force: Unable to search master 1 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Check master 2
-        try:
-            entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean_force: Failed to find db tombstone \
                entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean_force: Master 1 not cleaned!')
-                    clean = False
-            if clean:
-                log.info('Master 2 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean_force: Unable to search master 2 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Check master 3
-        try:
-            entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_clean_force: Failed to find db tombstone \
                entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_clean_force: Master 3 not cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_clean_force: Master 3 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_clean_force: Unable to search master 3 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Sleep a bit and give it chance to clean up...
-        time.sleep(5)
-        count += 1
-
+    clean = check_ruvs("test_cleanallruv_clean_force", topology)
     if not clean:
         log.fatal('test_cleanallruv_clean_force: Failed to clean replicas')
         assert False
 
-    log.info('test_cleanallruv_clean_force: Allow cleanallruv threads to finish')
-    time.sleep(30)
-
     log.info('test_cleanallruv_clean_force PASSED, restoring master 4...')
 
     #
@@ -958,25 +867,7 @@ def test_cleanallruv_abort(topology):
         assert False
 
     # Remove the agreements from the other masters that point to master 4
-    log.info('test_cleanallruv_abort: remove all the agreements to master 4...)')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort: Failed to delete agmt(m1 -> m4), error: ' \
                +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort: Failed to delete agmt(m2 -> m4), error: ' \
                +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort: Failed to delete agmt(m3 -> m4), error: ' \
                +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_abort", topology)
 
     # Stop master 2
     log.info('test_cleanallruv_abort: stop master 2 to freeze the cleanAllRUV \
task...') @@ -993,7 +884,7 @@ def test_cleanallruv_abort(topology):
         assert False
 
     # Wait a bit
-    time.sleep(10)
+    time.sleep(5)
 
     # Abort the task
     log.info('test_cleanallruv_abort: abort the cleanAllRUV task...')
@@ -1007,18 +898,7 @@ def test_cleanallruv_abort(topology):
 
     # Check master 1 does not have the clean task running
     log.info('test_cleanallruv_abort: check master 1 no longer has a cleanAllRUV \
                task...')
-    attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
-                'nsTaskCurrentItem', 'nsTaskTotalItems']
-    done = False
-    count = 0
-    while not done and count < 5:
-        entry = topology.master1.getEntry(clean_task_dn, attrlist=attrlist)
-        if not entry or entry.nsTaskExitCode:
-            done = True
-            break
-        time.sleep(1)
-        count += 1
-    if not done:
+    if not task_done(topology, clean_task_dn):
         log.fatal('test_cleanallruv_abort: CleanAllRUV task was not aborted')
         assert False
 
@@ -1062,28 +942,11 @@ def test_cleanallruv_abort_restart(topology):
 
     # Remove the agreements from the other masters that point to master 4
     log.info('test_cleanallruv_abort_restart: remove all the agreements to master \
                4...)')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort_restart: Failed to delete agmt(m1 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort_restart: Failed to delete agmt(m2 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort_restart: Failed to delete agmt(m3 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_abort_restart", topology)
 
     # Stop master 3
     log.info('test_cleanallruv_abort_restart: stop master 3 to freeze the \
                cleanAllRUV task...')
-    topology.master3.stop(timeout=10)
+    topology.master3.stop()
 
     # Run the task
     log.info('test_cleanallruv_abort_restart: add the cleanAllRUV task...')
@@ -1113,29 +976,19 @@ def test_cleanallruv_abort_restart(topology):
 
     # Check master 1 does not have the clean task running
     log.info('test_cleanallruv_abort: check master 1 no longer has a cleanAllRUV \
                task...')
-    attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
-                'nsTaskCurrentItem', 'nsTaskTotalItems']
-    done = False
-    count = 0
-    while not done and count < 10:
-        entry = topology.master1.getEntry(clean_task_dn, attrlist=attrlist)
-        if not entry or entry.nsTaskExitCode:
-            done = True
-            break
-        time.sleep(1)
-        count += 1
-    if not done:
+
+    if not task_done(topology, clean_task_dn):
         log.fatal('test_cleanallruv_abort_restart: CleanAllRUV task was not \
aborted')  assert False
 
     # Now restart master 1, and make sure the abort process completes
-    topology.master1.restart(timeout=30)
+    topology.master1.restart()
     if topology.master1.detectDisorderlyShutdown():
         log.fatal('test_cleanallruv_abort_restart: Master 1 previously crashed!')
         assert False
 
     # Start master 3
-    topology.master3.start(timeout=10)
+    topology.master3.start()
 
     # Check master 1 tried to run abort task.  We expect the abort task to be \
aborted.  if not topology.master1.searchErrorsLog('Aborting abort task'):
@@ -1185,29 +1038,11 @@ def test_cleanallruv_abort_certify(topology):
         assert False
 
     # Remove the agreements from the other masters that point to master 4
-    log.info('test_cleanallruv_abort_certify: remove all the agreements to master \
                4...)')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort_certify: Failed to delete agmt(m1 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort_certify: Failed to delete agmt(m2 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_abort_certify: Failed to delete agmt(m3 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_abort_certify", topology)
 
     # Stop master 2
     log.info('test_cleanallruv_abort_certify: stop master 2 to freeze the \
                cleanAllRUV task...')
-    topology.master2.stop(timeout=10)
+    topology.master2.stop()
 
     # Run the task
     log.info('test_cleanallruv_abort_certify: add the cleanAllRUV task...')
@@ -1219,6 +1054,9 @@ def test_cleanallruv_abort_certify(topology):
                   e.message('desc'))
         assert False
 
+    # Allow the clean task to get started...
+    time.sleep(5)
+
     # Abort the task
     log.info('test_cleanallruv_abort_certify: abort the cleanAllRUV task...')
     try:
@@ -1230,54 +1068,31 @@ def test_cleanallruv_abort_certify(topology):
         assert False
 
     # Wait a while and make sure the abort task is still running
-    log.info('test_cleanallruv_abort_certify: sleep for 10 seconds')
-    time.sleep(10)
+    log.info('test_cleanallruv_abort_certify: sleep for 5 seconds')
+    time.sleep(5)
 
-    attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
-                'nsTaskCurrentItem', 'nsTaskTotalItems']
-    entry = topology.master1.getEntry(abort_task_dn, attrlist=attrlist)
-    if not entry or entry.nsTaskExitCode:
+    if task_done(topology, abort_task_dn, 60):
         log.fatal('test_cleanallruv_abort_certify: abort task incorrectly finished')
         assert False
 
     # Now start master 2 so it can be aborted
     log.info('test_cleanallruv_abort_certify: start master 2 to allow the abort task \
                to finish...')
-    topology.master2.start(timeout=10)
+    topology.master2.start()
 
     # Wait for the abort task to stop
-    done = False
-    count = 0
-    while not done and count < 60:
-        entry = topology.master1.getEntry(abort_task_dn, attrlist=attrlist)
-        if not entry or entry.nsTaskExitCode:
-            done = True
-            break
-        time.sleep(1)
-        count += 1
-    if not done:
+    if not task_done(topology, abort_task_dn, 60):
         log.fatal('test_cleanallruv_abort_certify: The abort CleanAllRUV task was \
not aborted')  assert False
 
     # Check master 1 does not have the clean task running
     log.info('test_cleanallruv_abort_certify: check master 1 no longer has a \
                cleanAllRUV task...')
-    attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
-                'nsTaskCurrentItem', 'nsTaskTotalItems']
-    done = False
-    count = 0
-    while not done and count < 5:
-        entry = topology.master1.getEntry(clean_task_dn, attrlist=attrlist)
-        if not entry or entry.nsTaskExitCode:
-            done = True
-            break
-        time.sleep(1)
-        count += 1
-    if not done:
+    if not task_done(topology, clean_task_dn):
         log.fatal('test_cleanallruv_abort_certify: CleanAllRUV task was not \
aborted')  assert False
 
     # Start master 2
     log.info('test_cleanallruv_abort_certify: start master 2 to begin the restore \
                process...')
-    topology.master2.start(timeout=10)
+    topology.master2.start()
 
     #
     # Now run the clean task task again to we can properly restore master 4
@@ -1307,13 +1122,13 @@ def test_cleanallruv_stress_clean(topology):
     log.info('test_cleanallruv_stress_clean: put all the masters under load...')
 
     # Put all the masters under load
-    m1_add_users = AddUsers(topology.master1, 4000)
+    m1_add_users = AddUsers(topology.master1, 2000)
     m1_add_users.start()
-    m2_add_users = AddUsers(topology.master2, 4000)
+    m2_add_users = AddUsers(topology.master2, 2000)
     m2_add_users.start()
-    m3_add_users = AddUsers(topology.master3, 4000)
+    m3_add_users = AddUsers(topology.master3, 2000)
     m3_add_users.start()
-    m4_add_users = AddUsers(topology.master4, 4000)
+    m4_add_users = AddUsers(topology.master4, 2000)
     m4_add_users.start()
 
     # Allow sometime to get replication flowing in all directions
@@ -1330,8 +1145,8 @@ def test_cleanallruv_stress_clean(topology):
         assert False
 
     # We need to wait for master 4 to push its changes out
-    log.info('test_cleanallruv_stress_clean: allow some time for master 4 to push \
                changes out (30 seconds)...')
-    time.sleep(30)
+    log.info('test_cleanallruv_stress_clean: allow some time for master 4 to push \
changes out (60 seconds)...') +    time.sleep(60)
 
     # Disable master 4
     log.info('test_cleanallruv_stress_clean: disable replication on master 4...')
@@ -1342,25 +1157,7 @@ def test_cleanallruv_stress_clean(topology):
         assert False
 
     # Remove the agreements from the other masters that point to master 4
-    log.info('test_cleanallruv_stress_clean: remove all the agreements to master \
                4...')
-    try:
-        topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_stress_clean: Failed to delete agmt(m1 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_stress_clean: Failed to delete agmt(m2 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
-    try:
-        topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
-    except ldap.LDAPError as e:
-        log.fatal('test_cleanallruv_stress_clean: Failed to delete agmt(m3 -> m4), \
                error: ' +
-                  e.message['desc'])
-        assert False
+    remove_master4_agmts("test_cleanallruv_stress_clean", topology)
 
     # Run the task
     log.info('test_cleanallruv_stress_clean: Run the cleanAllRUV task...')
@@ -1381,69 +1178,7 @@ def test_cleanallruv_stress_clean(topology):
 
     # Check the other master's RUV for 'replica 4'
     log.info('test_cleanallruv_stress_clean: check if all the replicas have been \
                cleaned...')
-    clean = False
-    count = 0
-    while not clean and count < 10:
-        clean = True
-
-        # Check master 1
-        try:
-            entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_stress_clean: Failed to find db \
                tombstone entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_stress_clean: Master 1 not \
                cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_stress_clean: Master 1 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_stress_clean: Unable to search master 1 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Check master 2
-        try:
-            entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_stress_clean: Failed to find db \
                tombstone entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_stress_clean: Master 2 not \
                cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_stress_clean: Master 2 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_stress_clean: Unable to search master 2 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Check master 3
-        try:
-            entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
                REPLICA_RUV_FILTER)
-            if not entry:
-                log.error('test_cleanallruv_stress_clean: Failed to find db \
                tombstone entry from master')
-                repl_fail(replica_inst)
-            elements = entry[0].getValues('nsds50ruv')
-            for ruv in elements:
-                if 'replica 4' in ruv:
-                    # Not cleaned
-                    log.error('test_cleanallruv_stress_clean: Master 3 not \
                cleaned!')
-                    clean = False
-            if clean:
-                log.info('test_cleanallruv_stress_clean: Master 3 is cleaned.')
-        except ldap.LDAPError as e:
-            log.fatal('test_cleanallruv_stress_clean: Unable to search master 3 for \
                db tombstone: ' +
-                      e.message['desc'])
-
-        # Sleep a bit and give it chance to clean up...
-        time.sleep(5)
-        count += 1
-
+    clean = check_ruvs("test_cleanallruv_stress_clean", topology)
     if not clean:
         log.fatal('test_cleanallruv_stress_clean: Failed to clean replicas')
         assert False
@@ -1454,6 +1189,10 @@ def test_cleanallruv_stress_clean(topology):
     # Cleanup - restore master 4
     #
 
+    # Sleep for a bit to replication complete
+    log.info("Sleep for 120 seconds to allow replication to complete...")
+    time.sleep(120)
+
     # Turn off readonly mode
     try:
         topology.master4.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-readonly', \
'off')]) @@ -1466,10 +1205,6 @@ def test_cleanallruv_stress_clean(topology):
 
 
 def test_cleanallruv_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
-    topology.master3.delete()
-    topology.master4.delete()
     log.info('cleanAllRUV test suite PASSED')
 
 
diff --git a/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py \
b/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py index \
                4905088..b0da0eb 100644
--- a/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
+++ b/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
@@ -67,7 +67,7 @@ def topology(request):
     # Create all the agreements
     #
     # Creating agreement from master 1 to master 2
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' %(master2.host, master2.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -79,7 +79,7 @@ def topology(request):
     log.debug("%s created" % m1_m2_agmt)
 
     # Creating agreement from master 2 to master 1
-    properties = {RA_NAME:      r'meTo_$host:$port',
+    properties = {RA_NAME:      'meTo_%s:%s' %(master1.host, master1.port),
                   RA_BINDDN:    defaultProperties[REPLICATION_BIND_DN],
                   RA_BINDPW:    defaultProperties[REPLICATION_BIND_PW],
                   RA_METHOD:    defaultProperties[REPLICATION_BIND_METHOD],
@@ -109,8 +109,12 @@ def topology(request):
         assert False
 
     log.info("Set Replication Debugging loglevel for the errorlog")
-    master1.setLogLevel(lib389.LOG_REPLICA)
-    master2.setLogLevel(lib389.LOG_REPLICA)
+    master1.setLogLevel(LOG_REPLICA)
+    master2.setLogLevel(LOG_REPLICA)
+
+    logging_attr = 'nsslapd-logging-hr-timestamps-enabled'
+    master1.modify_s("cn=config", [(ldap.MOD_REPLACE, logging_attr, "off")])
+    master2.modify_s("cn=config", [(ldap.MOD_REPLACE, logging_attr, "off")])
 
     # Delete each instance in the end
     def fin():
@@ -258,12 +262,14 @@ def test_behavior_with_value(topology, waitfor_async_attr, \
entries):  min_ap = waitfor_async_attr[1][0]
     max_ap = waitfor_async_attr[1][1]
 
+    time.sleep(20)
+
     log.info("Gather all sync attempts within Counter dict, group by timestamp")
     with open(master1.errlog, 'r') as errlog:
         errlog_filtered = filter(lambda x: "waitfor_async_results" in x, errlog)
         for line in errlog_filtered:
             # Watch only over unsuccessful sync attempts
-            if line.split()[4] != line.split()[5]:
+            if line.split()[3] != line.split()[4]:
                 timestamp = line.split(']')[0]
                 sync_dict[timestamp] += 1
 
diff --git a/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py \
b/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py index bd52fb6..5d8a530 \
                100644
--- a/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
+++ b/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_repl_sync_(topology):
     return
 
 
-def test_repl_sync_final(topology):
-    topology.standalone.delete()
-    log.info('repl_sync test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_repl_sync_init(topo)
     test_repl_sync_(topo)
-    test_repl_sync_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/resource_limits/res_limits_test.py \
b/dirsrvtests/tests/suites/resource_limits/res_limits_test.py index 672bebc..233d2ca \
                100644
--- a/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
+++ b/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_res_limits_(topology):
     return
 
 
-def test_res_limits_final(topology):
-    topology.standalone.delete()
-    log.info('res_limits test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_res_limits_init(topo)
     test_res_limits_(topo)
-    test_res_limits_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py \
b/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py index 2d8b61f..0a36c48 \
                100644
--- a/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
+++ b/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_retrocl_(topology):
     return
 
 
-def test_retrocl_final(topology):
-    topology.standalone.delete()
-    log.info('retrocl test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_retrocl_init(topo)
     test_retrocl_(topo)
-    test_retrocl_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py \
b/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py index ae79bb5..c626660 \
                100644
--- a/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
+++ b/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_reverpwd_(topology):
     return
 
 
-def test_reverpwd_final(topology):
-    topology.standalone.delete()
-    log.info('reverpwd test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_reverpwd_init(topo)
     test_reverpwd_(topo)
-    test_reverpwd_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/roles_plugin/roles_test.py \
b/dirsrvtests/tests/suites/roles_plugin/roles_test.py index 704f2b7..1f1a765 100644
--- a/dirsrvtests/tests/suites/roles_plugin/roles_test.py
+++ b/dirsrvtests/tests/suites/roles_plugin/roles_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_roles_(topology):
     return
 
 
-def test_roles_final(topology):
-    topology.standalone.delete()
-    log.info('roles test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_roles_init(topo)
     test_roles_(topo)
-    test_roles_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py \
b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py index 2e70656..03bda25 \
                100644
--- a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
+++ b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
@@ -53,8 +53,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -210,13 +211,21 @@ def test_rootdn_access_day_of_week(topology):
     days = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')
     day = int(time.strftime("%w", time.gmtime()))
 
-    if day > 3:
+    if day == 6:
+        # Handle the roll over from Saturday into Sunday
+        deny_days = days[1] + ', ' + days[2]
+        allow_days = days[6] + ',' + days[0]
+    elif day > 3:
         deny_days = days[0] + ', ' + days[1]
         allow_days = days[day] + ',' + days[day - 1]
     else:
         deny_days = days[4] + ',' + days[5]
         allow_days = days[day] + ',' + days[day + 1]
 
+    log.info('Today:        ' + days[day])
+    log.info('Allowed days: ' + allow_days)
+    log.info('Deny days:    ' + deny_days)
+
     #
     # Set the deny days
     #
@@ -751,11 +760,6 @@ def test_rootdn_config_validate(topology):
     log.info('test_rootdn_config_validate: PASSED')
 
 
-def test_rootdn_final(topology):
-    topology.standalone.delete()
-    log.info('Root DN Access Control test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -770,8 +774,6 @@ def run_isolated():
     test_rootdn_access_denied_host(topo)
     test_rootdn_config_validate(topo)
 
-    test_rootdn_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/sasl/sasl_test.py \
b/dirsrvtests/tests/suites/sasl/sasl_test.py index 2f5e18c..a207a90 100644
--- a/dirsrvtests/tests/suites/sasl/sasl_test.py
+++ b/dirsrvtests/tests/suites/sasl/sasl_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_sasl_(topology):
     return
 
 
-def test_sasl_final(topology):
-    topology.standalone.delete()
-    log.info('sasl test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,8 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_sasl_init(topo)
     test_sasl_(topo)
-    test_sasl_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/schema/test_schema.py \
b/dirsrvtests/tests/suites/schema/test_schema.py index f23391a..1c0ec05 100644
--- a/dirsrvtests/tests/suites/schema/test_schema.py
+++ b/dirsrvtests/tests/suites/schema/test_schema.py
@@ -67,6 +67,10 @@ def topology(request):
     schemainst.create()
     schemainst.open()
 
+    def fin():
+        schemainst.delete()
+    request.addfinalizer(fin)
+
     return TopologyStandalone(schemainst)
 
 
@@ -202,10 +206,6 @@ def test_schema_comparewithfiles(topology):
     log.info('test_schema_comparewithfiles: PASSED')
 
 
-def test_schema_final(topology):
-    topology.standalone.delete()
-
-
 def run_isolated():
     '''
         run_isolated is used to run these test cases independently of a test \
scheduler (xunit, py.test..) @@ -218,10 +218,8 @@ def run_isolated():
     installation_prefix = os.environ.get('PREFIX')
 
     topo = topology(True)
-
     test_schema_comparewithfiles(topo)
 
-    test_schema_final(topo)
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py \
b/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py index \
                c516745..cd1e396 100644
--- a/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
+++ b/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_schema_reload_(topology):
     return
 
 
-def test_schema_reload_final(topology):
-    topology.standalone.delete()
-    log.info('schema_reload test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_schema_reload_init(topo)
     test_schema_reload_(topo)
-    test_schema_reload_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/snmp/snmp_test.py \
b/dirsrvtests/tests/suites/snmp/snmp_test.py index a442efc..7cbaf28 100644
--- a/dirsrvtests/tests/suites/snmp/snmp_test.py
+++ b/dirsrvtests/tests/suites/snmp/snmp_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_snmp_(topology):
     return
 
 
-def test_snmp_final(topology):
-    topology.standalone.delete()
-    log.info('snmp test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_snmp_init(topo)
     test_snmp_(topo)
-    test_snmp_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/ssl/ssl_test.py \
b/dirsrvtests/tests/suites/ssl/ssl_test.py index d0b36b5..ef3261f 100644
--- a/dirsrvtests/tests/suites/ssl/ssl_test.py
+++ b/dirsrvtests/tests/suites/ssl/ssl_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_ssl_(topology):
     return
 
 
-def test_ssl_final(topology):
-    topology.standalone.delete()
-    log.info('ssl test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_ssl_init(topo)
     test_ssl_(topo)
-    test_ssl_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py \
b/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py index 8f801ca..1ef24c2 100644
--- a/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
+++ b/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_syntax_(topology):
     return
 
 
-def test_syntax_final(topology):
-    topology.standalone.delete()
-    log.info('syntax test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_syntax_init(topo)
     test_syntax_(topo)
-    test_syntax_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/usn_plugin/usn_test.py \
b/dirsrvtests/tests/suites/usn_plugin/usn_test.py index bd57835..6ecbdf8 100644
--- a/dirsrvtests/tests/suites/usn_plugin/usn_test.py
+++ b/dirsrvtests/tests/suites/usn_plugin/usn_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_usn_(topology):
     return
 
 
-def test_usn_final(topology):
-    topology.standalone.delete()
-    log.info('usn test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_usn_init(topo)
     test_usn_(topo)
-    test_usn_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/views_plugin/views_test.py \
b/dirsrvtests/tests/suites/views_plugin/views_test.py index 28afcc8..d13c5f9 100644
--- a/dirsrvtests/tests/suites/views_plugin/views_test.py
+++ b/dirsrvtests/tests/suites/views_plugin/views_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_views_(topology):
     return
 
 
-def test_views_final(topology):
-    topology.standalone.delete()
-    log.info('views test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,8 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_views_init(topo)
     test_views_(topo)
-    test_views_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/suites/vlv/vlv_test.py \
b/dirsrvtests/tests/suites/vlv/vlv_test.py index ee8b86e..8532dde 100644
--- a/dirsrvtests/tests/suites/vlv/vlv_test.py
+++ b/dirsrvtests/tests/suites/vlv/vlv_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_vlv_(topology):
     return
 
 
-def test_vlv_final(topology):
-    topology.standalone.delete()
-    log.info('vlv test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_vlv_init(topo)
     test_vlv_(topo)
-    test_vlv_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py \
b/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py index af6f19f..ea4ab68 100644
--- a/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
+++ b/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -73,11 +74,6 @@ def test_whoami_(topology):
     return
 
 
-def test_whoami_final(topology):
-    topology.standalone.delete()
-    log.info('whoami test suite PASSED')
-
-
 def run_isolated():
     global installation1_prefix
     installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
     topo = topology(True)
     test_whoami_init(topo)
     test_whoami_(topo)
-    test_whoami_final(topo)
 
 
 if __name__ == '__main__':
diff --git a/dirsrvtests/tests/tickets/ticket1347760_test.py \
b/dirsrvtests/tests/tickets/ticket1347760_test.py index d2e9e37..b824a3e 100644
--- a/dirsrvtests/tests/tickets/ticket1347760_test.py
+++ b/dirsrvtests/tests/tickets/ticket1347760_test.py
@@ -71,15 +71,16 @@ def topology(request):
     standalone.open()
 
     # Delete each instance in the end
-#    def fin():
-#        standalone.delete()
-#    request.addfinalizer(fin)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
 
     return TopologyStandalone(standalone)
 
+
 def pattern_accesslog(file, log_pattern):
     try:
         pattern_accesslog.last_pos += 1
@@ -103,6 +104,7 @@ def pattern_accesslog(file, log_pattern):
     else:
         return None
 
+
 def check_op_result(server, op, dn, superior, exists, rc):
     targetdn = dn
     if op == 'search':
@@ -184,6 +186,7 @@ def check_op_result(server, op, dn, superior, exists, rc):
 
     log.info('PASSED\n')
 
+
 def test_ticket1347760(topology):
     """
     Prevent revealing the entry info to whom has no access rights.
@@ -432,6 +435,7 @@ def test_ticket1347760(topology):
 
     log.info('SUCCESS')
 
+
 if __name__ == '__main__':
     # Run isolated
     # -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket142_test.py \
b/dirsrvtests/tests/tickets/ticket142_test.py index 53cb82f..f244bed 100644
--- a/dirsrvtests/tests/tickets/ticket142_test.py
+++ b/dirsrvtests/tests/tickets/ticket142_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -71,8 +71,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -83,6 +84,7 @@ def _header(topology, label):
     topology.standalone.log.info("####### %s" % label)
     topology.standalone.log.info("###############################################")
 
+
 def check_attr_val(topology, dn, attr, expected):
     try:
         centry = topology.standalone.search_s(dn, ldap.SCOPE_BASE, 'cn=*')
@@ -100,6 +102,7 @@ def check_attr_val(topology, dn, attr, expected):
         log.fatal('Failed to search ' + dn + ': ' + e.message['desc'])
         assert False
 
+
 def _142_init(topology):
     """
     Set global password policy.
@@ -296,11 +299,6 @@ def _142_run_4(topology):
     log.info('PASSED')
 
 
-def _142_final(topology):
-    topology.standalone.delete()
-    log.info('All PASSED')
-
-
 def test_ticket142(topology):
     '''
         run_isolated is used to run these test cases independently of a test \
scheduler (xunit, py.test..) @@ -320,7 +318,6 @@ def test_ticket142(topology):
     _142_run_3(topology)
     _142_run_4(topology)
 
-    _142_final(topology)
 
 if __name__ == '__main__':
     # Run isolated
diff --git a/dirsrvtests/tests/tickets/ticket365_test.py \
b/dirsrvtests/tests/tickets/ticket365_test.py index 44aa3e8..8025375 100644
--- a/dirsrvtests/tests/tickets/ticket365_test.py
+++ b/dirsrvtests/tests/tickets/ticket365_test.py
@@ -1,19 +1,17 @@
 # --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
+# Copyright (C) 2016 Red Hat, Inc.
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
 # See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
-import os
-import sys
+
 import time
 import ldap
 import logging
 import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
 from lib389._constants import *
 from lib389.properties import *
 from lib389.tasks import *
@@ -50,8 +48,10 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    # Delete each instance in the end
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -88,7 +88,10 @@ def test_ticket365(topology):
     # Enable the audit log
     #
     try:
-        topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, \
'nsslapd-auditlog-logging-enabled', 'on')]) +        \
topology.standalone.modify_s(DN_CONFIG, +                                     \
[(ldap.MOD_REPLACE, +                                       \
'nsslapd-auditlog-logging-enabled', +                                       'on')])
     except ldap.LDAPError as e:
         log.fatal('Failed to enable audit log, error: ' + e.message['desc'])
         assert False
@@ -106,21 +109,26 @@ def test_ticket365(topology):
     #
     try:
         topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE,
-                                     'nsslapd-auditlog-logging-hide-unhashed-pw', \
'off')]) +            'nsslapd-auditlog-logging-hide-unhashed-pw', 'off')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to enable writing unhashed password to audit log, error: ' \
+ e.message['desc']) +        log.fatal('Failed to enable writing unhashed password \
to audit log, ' + +                  'error: ' + e.message['desc'])
         assert False
 
     #
     # Set new password, and check the audit log
     #
     try:
-        topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE, 'userpassword', \
'mypassword')]) +        topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE,
+                                                'userpassword',
+                                                'mypassword')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to enable writing unhashed password to audit log, error: ' \
+ e.message['desc']) +        log.fatal('Failed to enable writing unhashed password \
to audit log, ' + +                  'error: ' + e.message['desc'])
         assert False
 
     # Check audit log
+    time.sleep(1)
     if not topology.standalone.searchAuditLog('unhashed#user#password: mypassword'):
         log.fatal('failed to find unhashed password in auditlog')
         assert False
@@ -129,9 +137,13 @@ def test_ticket365(topology):
     # Hide unhashed password in audit log
     #
     try:
-        topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, \
'nsslapd-auditlog-logging-hide-unhashed-pw', 'on')]) +        \
topology.standalone.modify_s(DN_CONFIG, +            [(ldap.MOD_REPLACE,
+              'nsslapd-auditlog-logging-hide-unhashed-pw',
+              'on')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to deny writing unhashed password to audit log, error: ' + \
e.message['desc']) +        log.fatal('Failed to deny writing unhashed password to \
audit log, ' + +                  'error: ' + e.message['desc'])
         assert False
     log.info('Test complete')
 
@@ -139,31 +151,26 @@ def test_ticket365(topology):
     # Modify password, and check the audit log
     #
     try:
-        topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE, 'userpassword', \
'hidepassword')]) +        topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE,
+                                                'userpassword',
+                                                'hidepassword')])
     except ldap.LDAPError as e:
-        log.fatal('Failed to enable writing unhashed password to audit log, error: ' \
+ e.message['desc']) +        log.fatal('Failed to enable writing unhashed password \
to audit log, ' + +                  'error: ' + e.message['desc'])
         assert False
 
     # Check audit log
+    time.sleep(1)
     if topology.standalone.searchAuditLog('unhashed#user#password: hidepassword'):
         log.fatal('Found unhashed password in auditlog')
         assert False
 
-
-def test_ticket365_final(topology):
-    topology.standalone.delete()
-    log.info('Testcase PASSED')
-
-
-def run_isolated():
-    global installation1_prefix
-    installation1_prefix = None
-
-    topo = topology(True)
-    test_ticket365(topo)
-    test_ticket365_final(topo)
+    log.info('Test complete')
 
 
 if __name__ == '__main__':
-    run_isolated()
+    # Run isolated
+    # -s for DEBUG mode
+    CURRENT_FILE = os.path.realpath(__file__)
+    pytest.main("-s %s" % CURRENT_FILE)
 
diff --git a/dirsrvtests/tests/tickets/ticket47313_test.py \
b/dirsrvtests/tests/tickets/ticket47313_test.py index 35f2456..ca37a52 100644
--- a/dirsrvtests/tests/tickets/ticket47313_test.py
+++ b/dirsrvtests/tests/tickets/ticket47313_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -63,8 +63,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -146,9 +147,6 @@ def test_ticket47313_run(topology):
     topology.standalone.log.info("Try to delete  %s " % entry_dn_en_only)
     topology.standalone.delete_s(entry_dn_en_only)
 
-
-def test_ticket47313_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
@@ -166,8 +164,6 @@ def run_isolated():
     topo = topology(True)
     test_ticket47313_run(topo)
 
-    test_ticket47313_final(topo)
-
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/tickets/ticket47384_test.py \
b/dirsrvtests/tests/tickets/ticket47384_test.py index e5dc354..3a0f515 100644
--- a/dirsrvtests/tests/tickets/ticket47384_test.py
+++ b/dirsrvtests/tests/tickets/ticket47384_test.py
@@ -14,7 +14,6 @@ import logging
 import pytest
 import shutil
 from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
 from lib389._constants import *
 from lib389.properties import *
 from lib389.tasks import *
@@ -52,8 +51,12 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    # Delete each instance in the end
+    def fin():
+        standalone.delete()
+        if os.geteuid() == 0:
+            os.system('setenforce 1')
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -65,8 +68,15 @@ def test_ticket47384(topology):
     With the inclusion of ticket 47601 - we do allow plugin paths
     outside the default location
     '''
+
+    if os.geteuid() != 0:
+        log.warn('This script must be run as root')
+        return
+
+    os.system('setenforce 0')
+
     PLUGIN_DN = 'cn=%s,cn=plugins,cn=config' % PLUGIN_WHOAMI
-    tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
+    tmp_dir = '/tmp'
     plugin_dir = get_plugin_dir(topology.standalone.prefix)
 
     # Copy the library to our tmp directory
@@ -79,9 +89,9 @@ def test_ticket47384(topology):
     try:
         shutil.copy('%s/libwhoami-plugin.la' % plugin_dir, tmp_dir)
     except IOError as e:
-        log.fatal('Failed to copy libwhoami-plugin.la to the tmp directory, error: '
+        log.warn('Failed to copy ' + plugin_dir +
+                 '/libwhoami-plugin.la to the tmp directory, error: '
                   + e.strerror)
-        assert False
 
     #
     # Test adding valid plugin paths
@@ -148,20 +158,9 @@ def test_ticket47384(topology):
     log.info('Test complete')
 
 
-def test_ticket47384_final(topology):
-    topology.standalone.delete()
-    log.info('Testcase PASSED')
-
-
-def run_isolated():
-    global installation1_prefix
-    installation1_prefix = None
-
-    topo = topology(True)
-    test_ticket47384(topo)
-    test_ticket47384_final(topo)
-
-
 if __name__ == '__main__':
-    run_isolated()
+    # Run isolated
+    # -s for DEBUG mode
+    CURRENT_FILE = os.path.realpath(__file__)
+    pytest.main("-s %s" % CURRENT_FILE)
 
diff --git a/dirsrvtests/tests/tickets/ticket47431_test.py \
b/dirsrvtests/tests/tickets/ticket47431_test.py index a102248..4682963 100644
--- a/dirsrvtests/tests/tickets/ticket47431_test.py
+++ b/dirsrvtests/tests/tickets/ticket47431_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -53,8 +53,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -79,7 +80,7 @@ def test_ticket47431_1(topology):
     [..] - str2entry_dupcheck: 27 duplicate values for attribute type \
                nsslapd-pluginarg2
            detected in entry cn=7-bit check,cn=plugins,cn=config. Extra values \
ignored.  '''
-   
+
     log.info("Ticket 47431 - 1: Check 26 duplicate values are treated as one...")
     expected = "str2entry_dupcheck: .* duplicate values for attribute type \
nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config."  
@@ -138,7 +139,7 @@ def test_ticket47431_2(topology):
     '''
 
     log.info("Ticket 47431 - 2: Check two values belonging to one arg is fixed...")
-   
+
     try:
         topology.standalone.modify_s(DN_7BITPLUGIN,
                                      [(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', \
"uid"), @@ -197,7 +198,7 @@ def test_ticket47431_3(topology):
     '''
 
     log.info("Ticket 47431 - 3: Check missing args are fixed...")
-   
+
     try:
         topology.standalone.modify_s(DN_7BITPLUGIN,
                                      [(ldap.MOD_DELETE, 'nsslapd-pluginarg0', None),
@@ -238,7 +239,6 @@ def test_ticket47431_3(topology):
 
 
 def test_ticket47431_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47490_test.py \
b/dirsrvtests/tests/tickets/ticket47490_test.py index b61d443..56bf24b 100644
--- a/dirsrvtests/tests/tickets/ticket47490_test.py
+++ b/dirsrvtests/tests/tickets/ticket47490_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -254,9 +254,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master.clearTmpDir(__file__)
-
+    def fin():
+        master.delete()
+        consumer.delete()
+    request.addfinalizer(fin)
     #
     # Here we have two instances master and consumer
     # with replication working.
@@ -655,8 +656,6 @@ def test_ticket47490_nine(topology):
 
 
 def test_ticket47490_final(topology):
-    topology.master.delete()
-    topology.consumer.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47536_test.py \
b/dirsrvtests/tests/tickets/ticket47536_test.py index 1bcbb14..fe47ab7 100644
--- a/dirsrvtests/tests/tickets/ticket47536_test.py
+++ b/dirsrvtests/tests/tickets/ticket47536_test.py
@@ -25,8 +25,6 @@ from lib389.utils import *
 logging.getLogger(__name__).setLevel(logging.DEBUG)
 log = logging.getLogger(__name__)
 
-installation1_prefix = ''
-
 CONFIG_DN = 'cn=config'
 ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
 RSA = 'RSA'
@@ -38,6 +36,7 @@ M2SERVERCERT = 'Server-Cert2'
 M1LDAPSPORT = '41636'
 M2LDAPSPORT = '42636'
 
+
 class TopologyReplication(object):
     def __init__(self, master1, master2):
         master1.open()
@@ -48,14 +47,8 @@ class TopologyReplication(object):
 
 @pytest.fixture(scope="module")
 def topology(request):
-    global installation1_prefix
-    if installation1_prefix:
-        args_instance[SER_DEPLOYED_DIR] = installation1_prefix
-
     # Creating master 1...
     master1 = DirSrv(verbose=False)
-    if installation1_prefix:
-        args_instance[SER_DEPLOYED_DIR] = installation1_prefix
     args_instance[SER_HOST] = HOST_MASTER_1
     args_instance[SER_PORT] = PORT_MASTER_1
     args_instance[SER_SERVERID_PROP] = SERVERID_MASTER_1
@@ -71,8 +64,6 @@ def topology(request):
 
     # Creating master 2...
     master2 = DirSrv(verbose=False)
-    if installation1_prefix:
-        args_instance[SER_DEPLOYED_DIR] = installation1_prefix
     args_instance[SER_HOST] = HOST_MASTER_2
     args_instance[SER_PORT] = PORT_MASTER_2
     args_instance[SER_SERVERID_PROP] = SERVERID_MASTER_2
@@ -86,6 +77,12 @@ def topology(request):
     master2.open()
     master2.replica.enableReplication(suffix=SUFFIX, role=REPLICAROLE_MASTER, \
replicaId=REPLICAID_MASTER_2)  
+    # Delete each instance in the end
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
+
     #
     # Create all the agreements
     #
@@ -136,15 +133,6 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # Delete each instance in the end
-    def fin():
-       master1.delete()
-       master2.delete()
-    request.addfinalizer(fin)
-
-    # Clear out the tmp dir
-    master1.clearTmpDir(__file__)
-
     return TopologyReplication(master1, master2)
 
 
@@ -162,6 +150,7 @@ def add_entry(server, name, rdntmpl, start, num):
                                  'cn': '%s user%d' % (name, ii),
                                  'sn': 'user%d' % (ii)})))
 
+
 def enable_ssl(server, ldapsport, mycert):
     log.info("\n######################### Enabling SSL LDAPSPORT %s \
######################\n" % ldapsport)  server.simple_bind_s(DN_DM, PASSWORD)
@@ -180,6 +169,7 @@ def enable_ssl(server, ldapsport, mycert):
                                  'nsSSLToken': 'internal (software)',
                                  'nsSSLActivation': 'on'})))
 
+
 def check_pems(confdir, mycacert, myservercert, myserverkey, notexist):
     log.info("\n######################### Check PEM files (%s, %s, %s)%s in %s \
######################\n"  % (mycacert, myservercert, myserverkey, notexist, \
confdir)) @@ -224,6 +214,7 @@ def check_pems(confdir, mycacert, myservercert, \
myserverkey, notexist):  else:
             log.info('%s is correctly not generated.' % serverkey)
 
+
 def doAndPrintIt(cmdline):
     proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     log.info("      OUT:")
@@ -240,6 +231,7 @@ def doAndPrintIt(cmdline):
         log.info("      <%s>" % l)
         assert False
 
+
 def create_keys_certs(topology):
     log.info("\n######################### Creating SSL Keys and Certs \
######################\n")  
@@ -332,7 +324,7 @@ def create_keys_certs(topology):
     check_pems(m1confdir, CACERT, M1SERVERCERT, M1SERVERCERT + '-Key', "")
 
     global mytmp
-    mytmp = topology.master1.getDir(__file__, TMP_DIR)
+    mytmp = '/tmp'
     m2pk12file = '%s/%s.pk12' % (mytmp, M2SERVERCERT)
     cmd = 'pk12util -o %s -n "%s" -d %s -w %s -k %s' % (m2pk12file, M2SERVERCERT, \
m1confdir, pwdfile, pwdfile)  log.info("##### Extract PK12 file for master2: %s" % \
cmd) @@ -391,6 +383,7 @@ def create_keys_certs(topology):
 
     log.info("\n######################### Creating SSL Keys and Certs Done \
######################\n")  
+
 def config_tls_agreements(topology):
     log.info("######################### Configure SSL/TLS agreements \
                ######################")
     log.info("######################## master1 -- startTLS -> master2 \
#####################") @@ -467,6 +460,7 @@ def relocate_pem_files(topology):
     topology.master1.restart(timeout=10)
     check_pems(m1confdir, mycacert, myservercert, myserverkey, "")
 
+
 def test_ticket47536(topology):
     """
     Set up 2way MMR:
@@ -513,7 +507,7 @@ def test_ticket47536(topology):
     entries = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
'(uid=*)')  assert 20 == len(entries)
 
-    db2ldifpl = '%s/sbin/db2ldif.pl' % installation1_prefix
+    db2ldifpl = '%s/sbin/db2ldif.pl' % topology.master1.prefix
     cmdline = [db2ldifpl, '-n', 'userRoot', '-Z', SERVERID_MASTER_1, '-D', DN_DM, \
'-w', PASSWORD]  log.info("##### db2ldif.pl -- %s" % (cmdline))
     doAndPrintIt(cmdline)
diff --git a/dirsrvtests/tests/tickets/ticket47560_test.py \
b/dirsrvtests/tests/tickets/ticket47560_test.py index da86217..32c3427 100644
--- a/dirsrvtests/tests/tickets/ticket47560_test.py
+++ b/dirsrvtests/tests/tickets/ticket47560_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -60,8 +60,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -228,7 +229,6 @@ def test_ticket47560(topology):
 
 
 def test_ticket47560_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47573_test.py \
b/dirsrvtests/tests/tickets/ticket47573_test.py index 8edf113..97a48d6 100644
--- a/dirsrvtests/tests/tickets/ticket47573_test.py
+++ b/dirsrvtests/tests/tickets/ticket47573_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -200,8 +200,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master.clearTmpDir(__file__)
+    def fin():
+        master.delete()
+        consumer.delete()
+    request.addfinalizer(fin)
 
     # Here we have two instances master and consumer
     # with replication working.
@@ -317,8 +319,6 @@ def test_ticket47573_three(topology):
 
 
 def test_ticket47573_final(topology):
-    topology.master.delete()
-    topology.consumer.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47619_test.py \
b/dirsrvtests/tests/tickets/ticket47619_test.py index 0b9961e..a440d3d 100644
--- a/dirsrvtests/tests/tickets/ticket47619_test.py
+++ b/dirsrvtests/tests/tickets/ticket47619_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -122,8 +122,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master.clearTmpDir(__file__)
+    def fin():
+        master.delete()
+        consumer.delete()
+    request.addfinalizer(fin)
 
     # Here we have two instances master and consumer
     # with replication working.
@@ -184,8 +186,6 @@ def test_ticket47619_check_indexed_search(topology):
 
 
 def test_ticket47619_final(topology):
-    topology.master.delete()
-    topology.consumer.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47640_test.py \
b/dirsrvtests/tests/tickets/ticket47640_test.py index cd450ab..6b00cc8 100644
--- a/dirsrvtests/tests/tickets/ticket47640_test.py
+++ b/dirsrvtests/tests/tickets/ticket47640_test.py
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -112,7 +113,6 @@ def test_ticket47640(topology):
 
 
 def test_ticket47640_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47653MMR_test.py \
b/dirsrvtests/tests/tickets/ticket47653MMR_test.py index f951e55..6087992 100644
--- a/dirsrvtests/tests/tickets/ticket47653MMR_test.py
+++ b/dirsrvtests/tests/tickets/ticket47653MMR_test.py
@@ -158,8 +158,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
 
     # Here we have two instances master and consumer
     # with replication working.
@@ -192,9 +194,8 @@ def test_ticket47653_init(topology):
     topology.master1.modify_s(DN_CONFIG, mod)
     topology.master2.modify_s(DN_CONFIG, mod)
 
-    # get read of anonymous ACI for use 'read-search' aci in SEARCH test
-    ACI_ANONYMOUS = "(targetattr!=\"userPassword\")(version 3.0; acl \"Enable \
                anonymous access\"; allow (read, search, compare) \
                userdn=\"ldap:///anyone\";)"
-    mod = [(ldap.MOD_DELETE, 'aci', ACI_ANONYMOUS)]
+    # remove all aci's and start with a clean slate
+    mod = [(ldap.MOD_DELETE, 'aci', None)]
     topology.master1.modify_s(SUFFIX, mod)
     topology.master2.modify_s(SUFFIX, mod)
 
@@ -442,8 +443,6 @@ def test_ticket47653_modify(topology):
 
 
 def test_ticket47653_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47653_test.py \
b/dirsrvtests/tests/tickets/ticket47653_test.py index 1901b84..1ebdb11 100644
--- a/dirsrvtests/tests/tickets/ticket47653_test.py
+++ b/dirsrvtests/tests/tickets/ticket47653_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -85,8 +85,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -117,9 +118,8 @@ def test_ticket47653_init(topology):
     mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '128')]
     topology.standalone.modify_s(DN_CONFIG, mod)
 
-    # get read of anonymous ACI for use 'read-search' aci in SEARCH test
-    ACI_ANONYMOUS = "(targetattr!=\"userPassword\")(version 3.0; acl \"Enable \
                anonymous access\"; allow (read, search, compare) \
                userdn=\"ldap:///anyone\";)"
-    mod = [(ldap.MOD_DELETE, 'aci', ACI_ANONYMOUS)]
+    # Remove aci's to start with a clean slate
+    mod = [(ldap.MOD_DELETE, 'aci', None)]
     topology.standalone.modify_s(SUFFIX, mod)
 
     # add dummy entries
@@ -350,7 +350,6 @@ def test_ticket47653_delete(topology):
 
 
 def test_ticket47653_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47669_test.py \
b/dirsrvtests/tests/tickets/ticket47669_test.py index 2ef1f3e..adbcc46 100644
--- a/dirsrvtests/tests/tickets/ticket47669_test.py
+++ b/dirsrvtests/tests/tickets/ticket47669_test.py
@@ -72,8 +72,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -237,7 +238,6 @@ def test_ticket47669_retrochangelog_maxage(topology):
 
 
 def test_ticket47669_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47676_test.py \
b/dirsrvtests/tests/tickets/ticket47676_test.py index 22c2994..986e620 100644
--- a/dirsrvtests/tests/tickets/ticket47676_test.py
+++ b/dirsrvtests/tests/tickets/ticket47676_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -170,8 +170,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
 
     # Here we have two instances master and consumer
     # with replication working.
@@ -373,8 +375,6 @@ def test_ticket47676_reject_action(topology):
 
 
 def test_ticket47676_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47714_test.py \
b/dirsrvtests/tests/tickets/ticket47714_test.py index 268ddef..0e3112b 100644
--- a/dirsrvtests/tests/tickets/ticket47714_test.py
+++ b/dirsrvtests/tests/tickets/ticket47714_test.py
@@ -22,8 +22,9 @@ log = logging.getLogger(__name__)
 
 installation_prefix = None
 
-ACCT_POLICY_CONFIG_DN = 'cn=config,cn=%s,cn=plugins,cn=config' % PLUGIN_ACCT_POLICY
-ACCT_POLICY_DN = 'cn=Account Inactivation Pplicy,%s' % SUFFIX
+ACCT_POLICY_CONFIG_DN = ('cn=config,cn=%s,cn=plugins,cn=config' %
+                         PLUGIN_ACCT_POLICY)
+ACCT_POLICY_DN = 'cn=Account Inactivation Policy,%s' % SUFFIX
 INACTIVITY_LIMIT = '9'
 SEARCHFILTER = '(objectclass=*)'
 
@@ -70,8 +71,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -138,19 +140,21 @@ def test_ticket47714_run_0(topology):
     except ldap.CONSTRAINT_VIOLATION as e:
         log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
 
+    time.sleep(2)
+
     topology.standalone.simple_bind_s(DN_DM, PASSWORD)
     entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, \
SEARCHFILTER, ['lastLoginTime'])  
     lastLoginTime0 = entry[0].lastLoginTime
 
-    time.sleep(2)
-
     log.info("\n######################### Bind as %s again ######################\n" \
% TEST_USER_DN)  try:
         topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PW)
     except ldap.CONSTRAINT_VIOLATION as e:
         log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
 
+    time.sleep(2)
+
     topology.standalone.simple_bind_s(DN_DM, PASSWORD)
     entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, \
SEARCHFILTER, ['lastLoginTime'])  
@@ -165,8 +169,6 @@ def test_ticket47714_run_0(topology):
     log.info("accountInactivityLimit: %s" % entry[0].accountInactivityLimit)
     log.info("\n######################### %s DONE ######################\n" % \
ACCT_POLICY_CONFIG_DN)  
-    time.sleep(10)
-
     log.info("\n######################### Bind as %s again to fail \
######################\n" % TEST_USER_DN)  try:
         topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PW)
@@ -234,7 +236,6 @@ def test_ticket47714_run_1(topology):
 
 
 def test_ticket47714_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47721_test.py \
b/dirsrvtests/tests/tickets/ticket47721_test.py index 7841423..5e15c93 100644
--- a/dirsrvtests/tests/tickets/ticket47721_test.py
+++ b/dirsrvtests/tests/tickets/ticket47721_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -179,9 +179,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master1.clearTmpDir(__file__)
-
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
     #
     # Here we have two instances master and consumer
     # with replication working. Either coming from a backup recovery
@@ -433,8 +434,6 @@ def test_ticket47721_4(topology):
 
 
 def test_ticket47721_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47781_test.py \
b/dirsrvtests/tests/tickets/ticket47781_test.py index c52612e..0f8b49a 100644
--- a/dirsrvtests/tests/tickets/ticket47781_test.py
+++ b/dirsrvtests/tests/tickets/ticket47781_test.py
@@ -61,8 +61,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -164,7 +165,6 @@ def test_ticket47781(topology):
 
 
 def test_ticket47781_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47787_test.py \
b/dirsrvtests/tests/tickets/ticket47787_test.py index 305ec75..56c8d43 100644
--- a/dirsrvtests/tests/tickets/ticket47787_test.py
+++ b/dirsrvtests/tests/tickets/ticket47787_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -158,8 +158,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
 
     # Here we have two instances master and consumer
     # with replication working.
@@ -529,8 +531,6 @@ def test_ticket47787_2(topology):
 
 
 def test_ticket47787_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47808_test.py \
b/dirsrvtests/tests/tickets/ticket47808_test.py index 4254c8c..6bff180 100644
--- a/dirsrvtests/tests/tickets/ticket47808_test.py
+++ b/dirsrvtests/tests/tickets/ticket47808_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -41,7 +41,7 @@ def topology(request):
     if installation_prefix:
         args_instance[SER_DEPLOYED_DIR] = installation_prefix
 
-    standalone = DirSrv(verbose=True)
+    standalone = DirSrv(verbose=False)
 
     # Args for the standalone instance
     args_instance[SER_HOST] = HOST_STANDALONE
@@ -63,8 +63,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -140,7 +141,6 @@ def test_ticket47808_run(topology):
 
 
 def test_ticket47808_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47815_test.py \
b/dirsrvtests/tests/tickets/ticket47815_test.py index 675e97b..3a1c9fe 100644
--- a/dirsrvtests/tests/tickets/ticket47815_test.py
+++ b/dirsrvtests/tests/tickets/ticket47815_test.py
@@ -60,8 +60,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -156,7 +157,6 @@ def test_ticket47815(topology):
 
 
 def test_ticket47815_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47819_test.py \
b/dirsrvtests/tests/tickets/ticket47819_test.py index 435b36c..7be6210 100644
--- a/dirsrvtests/tests/tickets/ticket47819_test.py
+++ b/dirsrvtests/tests/tickets/ticket47819_test.py
@@ -61,8 +61,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -129,7 +130,7 @@ def test_ticket47819(topology):
     log.info('Part 2:  Exporting replication ldif...')
 
     # Get the the full path and name for our LDIF we will be exporting
-    ldif_file = topology.standalone.getDir(__file__, TMP_DIR) + "export.ldif"
+    ldif_file = "/tmp/export.ldif"
 
     args = {EXPORT_REPL_INFO: True,
             TASK_WAIT: True}
@@ -178,7 +179,7 @@ def test_ticket47819(topology):
     #
     # Part 3 - test fixup task
     #
-    log.info('Part 4:  test the fixup task')
+    log.info('Part 3:  test the fixup task')
 
     # Run fixup task using the strip option.  This removes nsTombstoneCSN
     # so we can test if the fixup task works.
@@ -202,6 +203,7 @@ def test_ticket47819(topology):
         log.fatal('Search failed: ' + e.message['desc'])
         assert False
 
+
     # Now run the fixup task
     args = {TASK_WAIT: True}
     fixupTombTask = Tasks(topology.standalone)
@@ -210,6 +212,8 @@ def test_ticket47819(topology):
     except:
         assert False
 
+    time.sleep(1)
+
     # Search for tombstones with nsTombstoneCSN - better find some
     log.info('Search for tombstone entries...')
     try:
@@ -273,7 +277,6 @@ def test_ticket47819(topology):
 
 
 def test_ticket47819_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
@@ -293,4 +296,4 @@ def run_isolated():
     test_ticket47819_final(topo)
 
 if __name__ == '__main__':
-    run_isolated()
\ No newline at end of file
+    run_isolated()
diff --git a/dirsrvtests/tests/tickets/ticket47823_test.py \
b/dirsrvtests/tests/tickets/ticket47823_test.py index 635827c..1eab26b 100644
--- a/dirsrvtests/tests/tickets/ticket47823_test.py
+++ b/dirsrvtests/tests/tickets/ticket47823_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -92,8 +92,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -975,7 +976,6 @@ def test_ticket47823_invalid_config_7(topology):
 
 
 def test_ticket47823_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47828_test.py \
b/dirsrvtests/tests/tickets/ticket47828_test.py index 3962a0a..3218ddc 100644
--- a/dirsrvtests/tests/tickets/ticket47828_test.py
+++ b/dirsrvtests/tests/tickets/ticket47828_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -23,8 +23,8 @@ log = logging.getLogger(__name__)
 
 installation_prefix = None
 
-ACCT_POLICY_CONFIG_DN = 'cn=config,cn=%s,cn=plugins,cn=config' % PLUGIN_ACCT_POLICY 
-ACCT_POLICY_DN = 'cn=Account Inactivation Pplicy,%s' % SUFFIX
+ACCT_POLICY_CONFIG_DN = 'cn=config,cn=%s,cn=plugins,cn=config' % PLUGIN_ACCT_POLICY
+ACCT_POLICY_DN = 'cn=Account Inactivation Policy,%s' % SUFFIX
 INACTIVITY_LIMIT = '9'
 SEARCHFILTER = '(objectclass=*)'
 
@@ -39,6 +39,7 @@ DUMMY_USER1_DN  = 'cn=%s,%s' % (DUMMY_USER1_CN, DUMMY_CONTAINER)
 
 ALLOCATED_ATTR = 'employeeNumber'
 
+
 class TopologyStandalone(object):
     def __init__(self, standalone):
         standalone.open()
@@ -51,20 +52,6 @@ def topology(request):
         This fixture is used to standalone topology for the 'module'.
         At the beginning, It may exists a standalone instance.
         It may also exists a backup for the standalone instance.
-
-        Principle:
-            If standalone instance exists:
-                restart it
-            If backup of standalone exists:
-                create/rebind to standalone
-
-                restore standalone instance from backup
-            else:
-                Cleanup everything
-                    remove instance
-                    remove backup
-                Create instance
-                Create backup
     '''
     global installation_prefix
 
@@ -80,65 +67,24 @@ def topology(request):
     args_standalone = args_instance.copy()
     standalone.allocate(args_standalone)
 
-    # Get the status of the backups
-    backup_standalone = standalone.checkBackupFS()
-
     # Get the status of the instance and restart it if it exists
     instance_standalone = standalone.exists()
     if instance_standalone:
-        # assuming the instance is already stopped, just wait 5 sec max
-        standalone.stop(timeout=5)
-        try:
-            standalone.start(timeout=10)
-        except ldap.SERVER_DOWN:
-            pass
-
-    if backup_standalone:
-        # The backup exist, assuming it is correct
-        # we just re-init the instance with it
-        if not instance_standalone:
-            standalone.create()
-            # Used to retrieve configuration information (dbdir, confdir...)
-            standalone.open()
-
-        # restore standalone instance from backup
-        standalone.stop(timeout=10)
-        standalone.restoreFS(backup_standalone)
-        standalone.start(timeout=10)
-
-    else:
-        # We should be here only in two conditions
-        #      - This is the first time a test involve standalone instance
-        #      - Something weird happened (instance/backup destroyed)
-        #        so we discard everything and recreate all
-
-        # Remove the backup. So even if we have a specific backup file
-        # (e.g backup_standalone) we clear backup that an instance may have created
-        if backup_standalone:
-            standalone.clearBackupFS()
-
-        # Remove the instance
-        if instance_standalone:
-            standalone.delete()
-
-        # Create the instance
-        standalone.create()
-
-        # Used to retrieve configuration information (dbdir, confdir...)
-        standalone.open()
+        standalone.delete()
+
+    # Create the instance
+    standalone.create()
+
+    # Used to retrieve configuration information (dbdir, confdir...)
+    standalone.open()
 
-        # Time to create the backups
-        standalone.stop(timeout=10)
-        standalone.backupfile = standalone.backupFS()
-        standalone.start(timeout=10)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
-    #
-    # Here we have standalone instance up and running
-    # Either coming from a backup recovery
-    # or from a fresh (re)init
-    # Time to return the topology
     return TopologyStandalone(standalone)
 
+
 def _header(topology, label):
     topology.standalone.log.info("\n\n###############################################")
  topology.standalone.log.info("#######")
@@ -146,6 +92,7 @@ def _header(topology, label):
     topology.standalone.log.info("#######")
     topology.standalone.log.info("###############################################")
 
+
 def test_ticket47828_init(topology):
     """
     Enable DNA
@@ -156,7 +103,7 @@ def test_ticket47828_init(topology):
                                                   'cn': 'provisioning'})))
     topology.standalone.add_s(Entry((DUMMY_CONTAINER,{'objectclass': "top \
                nscontainer".split(),
                                                   'cn': 'dummy container'})))
-    
+
     dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
     topology.standalone.add_s(Entry((dn_config, {'objectclass': "top \
                extensibleObject".split(),
                                                     'cn': 'excluded scope',
@@ -168,7 +115,6 @@ def test_ticket47828_init(topology):
                                                     'dnaScope': SUFFIX})))
     topology.standalone.restart(timeout=10)
 
-                                                    
 
 def test_ticket47828_run_0(topology):
     """
@@ -185,7 +131,8 @@ def test_ticket47828_run_0(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_1(topology):
     """
     NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged \
(!= magic) @@ -201,7 +148,8 @@ def test_ticket47828_run_1(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_2(topology):
     """
     NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is  set
@@ -217,7 +165,8 @@ def test_ticket47828_run_2(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_3(topology):
     """
     NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged \
(!= magic) @@ -233,17 +182,19 @@ def test_ticket47828_run_3(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_4(topology):
     '''
     Exclude the provisioning container
     '''
     _header(topology, 'Exclude the provisioning container')
-    
+
     dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
     mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
     topology.standalone.modify_s(dn_config, mod)
-    
+
+
 def test_ticket47828_run_5(topology):
     """
     Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is \
set @@ -259,7 +210,8 @@ def test_ticket47828_run_5(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_6(topology):
     """
     Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is \
unchanged (!= magic) @@ -275,7 +227,8 @@ def test_ticket47828_run_6(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_7(topology):
     """
     Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is  \
not set @@ -291,7 +244,8 @@ def test_ticket47828_run_7(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_8(topology):
     """
     Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is \
unchanged (!= magic) @@ -307,7 +261,8 @@ def test_ticket47828_run_8(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_9(topology):
     """
     Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is \
set @@ -323,7 +278,8 @@ def test_ticket47828_run_9(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_run_10(topology):
     """
     Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is \
unchanged (!= magic) @@ -339,17 +295,19 @@ def test_ticket47828_run_10(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_run_11(topology):
     '''
     Exclude (in addition) the dummy container
     '''
     _header(topology, 'Exclude (in addition) the dummy container')
-    
+
     dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
     mod = [(ldap.MOD_ADD, 'dnaExcludeScope', DUMMY_CONTAINER)]
     topology.standalone.modify_s(dn_config, mod)
-    
+
+
 def test_ticket47828_run_12(topology):
     """
     Provisioning/Dummy excluded scope: Add an active entry and check its \
ALLOCATED_ATTR is set @@ -365,7 +323,8 @@ def test_ticket47828_run_12(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_13(topology):
     """
     Provisioning/Dummy excluded scope: Add an active entry and check its \
ALLOCATED_ATTR is unchanged (!= magic) @@ -381,7 +340,8 @@ def \
test_ticket47828_run_13(topology):  assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_14(topology):
     """
     Provisioning/Dummy excluded scope: Add a staged entry and check its \
ALLOCATED_ATTR is not set @@ -397,7 +357,8 @@ def test_ticket47828_run_14(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_15(topology):
     """
     Provisioning/Dummy excluded scope: Add a staged entry and check its \
ALLOCATED_ATTR is unchanged (!= magic) @@ -413,7 +374,8 @@ def \
test_ticket47828_run_15(topology):  assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_16(topology):
     """
     Provisioning/Dummy excluded scope: Add an dummy entry and check its \
ALLOCATED_ATTR is not set @@ -429,7 +391,8 @@ def test_ticket47828_run_16(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_run_17(topology):
     """
     Provisioning/Dummy excluded scope: Add an dummy entry and check its \
ALLOCATED_ATTR is unchanged (!= magic) @@ -445,14 +408,14 @@ def \
test_ticket47828_run_17(topology):  assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
-    
+
+
 def test_ticket47828_run_18(topology):
     '''
     Exclude PROVISIONING and a wrong container
     '''
     _header(topology, 'Exclude PROVISIONING and a wrong container')
-    
+
     dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
     mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
     topology.standalone.modify_s(dn_config, mod)
@@ -462,7 +425,8 @@ def test_ticket47828_run_18(topology):
         raise ValueError("invalid dnaExcludeScope value (not a DN)")
     except ldap.INVALID_SYNTAX:
         pass
-    
+
+
 def test_ticket47828_run_19(topology):
     """
     Provisioning+wrong container excluded scope: Add an active entry and check its \
ALLOCATED_ATTR is set @@ -478,7 +442,8 @@ def test_ticket47828_run_19(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_20(topology):
     """
     Provisioning+wrong container excluded scope: Add an active entry and check its \
ALLOCATED_ATTR is unchanged (!= magic) @@ -494,7 +459,8 @@ def \
test_ticket47828_run_20(topology):  assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_21(topology):
     """
     Provisioning+wrong container excluded scope: Add a staged entry and check its \
ALLOCATED_ATTR is  not set @@ -510,7 +476,8 @@ def test_ticket47828_run_21(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_22(topology):
     """
     Provisioning+wrong container excluded scope: Add a staged entry and check its \
ALLOCATED_ATTR is unchanged (!= magic) @@ -526,7 +493,8 @@ def \
test_ticket47828_run_22(topology):  assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_23(topology):
     """
     Provisioning+wrong container excluded scope: Add an dummy entry and check its \
ALLOCATED_ATTR is set @@ -542,7 +510,8 @@ def test_ticket47828_run_23(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_run_24(topology):
     """
     Provisioning+wrong container excluded scope: Add an dummy entry and check its \
ALLOCATED_ATTR is unchanged (!= magic) @@ -558,22 +527,24 @@ def \
test_ticket47828_run_24(topology):  assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_run_25(topology):
     '''
     Exclude  a wrong container
     '''
     _header(topology, 'Exclude a wrong container')
-    
+
     dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
-    
+
     try:
         mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', "invalidDN,%s" % SUFFIX)]
         topology.standalone.modify_s(dn_config, mod)
         raise ValueError("invalid dnaExcludeScope value (not a DN)")
     except ldap.INVALID_SYNTAX:
         pass
-    
+
+
 def test_ticket47828_run_26(topology):
     """
     Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR \
is set @@ -589,7 +560,8 @@ def test_ticket47828_run_26(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_27(topology):
     """
     Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR \
is unchanged (!= magic) @@ -605,7 +577,8 @@ def test_ticket47828_run_27(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(ACTIVE_USER1_DN)
-    
+
+
 def test_ticket47828_run_28(topology):
     """
     Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR \
is  not set @@ -621,7 +594,8 @@ def test_ticket47828_run_28(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_29(topology):
     """
     Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR \
is unchanged (!= magic) @@ -637,7 +611,8 @@ def test_ticket47828_run_29(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(STAGED_USER1_DN)
-    
+
+
 def test_ticket47828_run_30(topology):
     """
     Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR \
is set @@ -653,7 +628,8 @@ def test_ticket47828_run_30(topology):
     assert ent.getValue(ALLOCATED_ATTR) != str(-1)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_run_31(topology):
     """
     Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR \
is unchanged (!= magic) @@ -669,11 +645,13 @@ def test_ticket47828_run_31(topology):
     assert ent.getValue(ALLOCATED_ATTR) == str(20)
     topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, \
ent.getValue(ALLOCATED_ATTR)))  topology.standalone.delete_s(DUMMY_USER1_DN)
-    
+
+
 def test_ticket47828_final(topology):
     topology.standalone.plugins.disable(name=PLUGIN_DNA)
     topology.standalone.stop(timeout=10)
 
+
 def run_isolated():
     '''
         run_isolated is used to run these test cases independently of a test \
scheduler (xunit, py.test..) @@ -687,7 +665,7 @@ def run_isolated():
 
     topo = topology(True)
     test_ticket47828_init(topo)
-    
+
     test_ticket47828_run_0(topo)
     test_ticket47828_run_1(topo)
     test_ticket47828_run_2(topo)
@@ -720,9 +698,9 @@ def run_isolated():
     test_ticket47828_run_29(topo)
     test_ticket47828_run_30(topo)
     test_ticket47828_run_31(topo)
-    
+
     test_ticket47828_final(topo)
-    
+
 
 if __name__ == '__main__':
     run_isolated()
diff --git a/dirsrvtests/tests/tickets/ticket47829_test.py \
b/dirsrvtests/tests/tickets/ticket47829_test.py index 2acebf9..425a626 100644
--- a/dirsrvtests/tests/tickets/ticket47829_test.py
+++ b/dirsrvtests/tests/tickets/ticket47829_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -97,8 +97,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -608,7 +609,6 @@ def test_ticket47829_indirect_active_group_4(topology):
 
 
 def test_ticket47829_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47833_test.py \
b/dirsrvtests/tests/tickets/ticket47833_test.py index f1fb634..307e994 100644
--- a/dirsrvtests/tests/tickets/ticket47833_test.py
+++ b/dirsrvtests/tests/tickets/ticket47833_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -87,8 +87,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -99,7 +100,7 @@ def _header(topology, label):
     topology.standalone.log.info("####### %s" % label)
     topology.standalone.log.info("#######")
     topology.standalone.log.info("###############################################")
-    
+
 def _add_user(topology, type='active'):
     if type == 'active':
         topology.standalone.add_s(Entry((ACTIVE_USER_DN, {
@@ -130,9 +131,9 @@ def _find_memberof(topology, user_dn=None, group_dn=None, \
find_result=True):  if val == group_dn:
                 found = True
                 break
-            
+
     if find_result:
-        assert(found) 
+        assert(found)
     else:
         assert(not found)
 
@@ -149,18 +150,18 @@ def _find_member(topology, user_dn=None, group_dn=None, \
find_result=True):  if val == user_dn:
                 found = True
                 break
-            
+
     if find_result:
-        assert(found) 
+        assert(found)
     else:
         assert(not found)
-        
+
 def _modrdn_entry(topology=None, entry_dn=None, new_rdn=None, del_old=0, \
new_superior=None):  assert topology != None
     assert entry_dn != None
     assert new_rdn != None
-    
-        
+
+
     topology.standalone.log.info("\n\n######################### MODRDN %s \
######################\n" % new_rdn)  if new_superior:
         topology.standalone.rename_s(entry_dn, new_rdn, newsuperior=new_superior, \
delold=del_old) @@ -179,12 +180,12 @@ def _check_memberof(topology=None, action=None, \
user_dn=None, group_dn=None, fin  txt = 'replace'
     topology.standalone.log.info('\n%s entry %s' % (txt, user_dn))
     topology.standalone.log.info('to group %s' % group_dn)
-    
+
     topology.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
     time.sleep(1)
     _find_memberof(topology, user_dn=user_dn, group_dn=group_dn, \
                find_result=find_result)
-    
-    
+
+
 
 
 def test_ticket47829_init(topology):
@@ -206,7 +207,7 @@ def test_ticket47829_init(topology):
     topology.standalone.add_s(Entry((DELETE_DN, {
                                                         'objectclass': "top \
                nscontainer".split(),
                                                         'cn': DELETE_CN})))
-    
+
     # add groups
     topology.standalone.add_s(Entry((ACTIVE_GROUP_DN, {
                                                 'objectclass': "top \
groupOfNames".split(), @@ -217,38 +218,38 @@ def test_ticket47829_init(topology):
     topology.standalone.add_s(Entry((OUT_GROUP_DN, {
                                                 'objectclass': "top \
groupOfNames".split(),  'cn': OUT_GROUP_CN})))
-    
+
     # add users
     _add_user(topology, 'active')
     _add_user(topology, 'stage')
     _add_user(topology, 'out')
-    
-    
+
+
 
     # enable memberof of with scope account
     topology.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
     dn = "cn=%s,%s" % (PLUGIN_MEMBER_OF, DN_PLUGIN)
     topology.standalone.modify_s(dn, [(ldap.MOD_REPLACE, 'memberOfEntryScope', \
                ACTIVE_DN)])
-    
-    
-    
+
+
+
     topology.standalone.restart(timeout=10)
 
 
-    
-        
+
+
 def test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology):
     _header(topology, 'add an Stage user to a Active group. Then move Stage user to \
                Stage')
-    
+
     old_stage_user_dn  = STAGE_USER_DN
     old_stage_user_rdn = "cn=%s" % STAGE_USER_CN
     new_stage_user_rdn = "cn=x%s" % STAGE_USER_CN
     new_stage_user_dn = "%s,%s" % (new_stage_user_rdn, STAGE_DN)
-    
+
     # add Stage user to active group
     _check_memberof(topology, action=ldap.MOD_ADD, user_dn=old_stage_user_dn, \
                group_dn=ACTIVE_GROUP_DN, find_result=False)
     _find_member  (topology, user_dn=old_stage_user_dn, group_dn=ACTIVE_GROUP_DN, \
                find_result=True)
-    
+
     # move the Stage entry to Stage, expect  no 'member' and 'memberof'
     _modrdn_entry (topology, entry_dn=old_stage_user_dn, new_rdn=new_stage_user_rdn, \
                new_superior=STAGE_DN)
     _find_memberof(topology, user_dn=new_stage_user_dn, group_dn=ACTIVE_GROUP_DN, \
find_result=False) @@ -256,7 +257,6 @@ def \
test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology):  
 
 def test_ticket47833_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47838_test.py \
b/dirsrvtests/tests/tickets/ticket47838_test.py index 6685fb8..bc84474 100644
--- a/dirsrvtests/tests/tickets/ticket47838_test.py
+++ b/dirsrvtests/tests/tickets/ticket47838_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -27,7 +27,6 @@ CONFIG_DN = 'cn=config'
 ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
 RSA = 'RSA'
 RSA_DN = 'cn=%s,%s' % (RSA, ENCRYPTION_DN)
-LDAPSPORT = '10636'
 SERVERCERT = 'Server-Cert'
 plus_all_ecount = 0
 plus_all_dcount = 0
@@ -37,6 +36,7 @@ plus_all_dcount_noweak = 0
 nss_version = ''
 NSS320 = '3.20.0'
 
+
 class TopologyStandalone(object):
     def __init__(self, standalone):
         standalone.open()
@@ -75,8 +75,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    #request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -166,7 +167,7 @@ def _47838_init(topology):
 
     topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-security', \
                'on'),
                                              (ldap.MOD_REPLACE, \
                'nsslapd-ssl-check-hostname', 'off'),
-                                             (ldap.MOD_REPLACE, \
'nsslapd-secureport', LDAPSPORT)]) +                                             \
(ldap.MOD_REPLACE, 'nsslapd-secureport', str(DEFAULT_SECURE_PORT))])  
     topology.standalone.add_s(Entry((RSA_DN, {'objectclass': "top \
nsEncryptionModule".split(),  'cn': RSA,
@@ -204,7 +205,7 @@ def _47838_run_0(topology):
 
     topology.standalone.simple_bind_s(DN_DM, PASSWORD)
     topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, \
                'nsslapd-errorlog-level', '64')])
-
+    time.sleep(5)
     log.info("\n######################### Restarting the server \
######################\n")  topology.standalone.restart(timeout=120)
 
@@ -244,6 +245,7 @@ def _47838_run_1(topology):
 
     topology.standalone.simple_bind_s(DN_DM, PASSWORD)
     topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, \
'nsslapd-errorlog-level', '64')]) +    time.sleep(5)
     # Make sure allowWeakCipher is not set.
     topology.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, \
'allowWeakCipher', None)])  
@@ -365,7 +367,7 @@ def _47838_run_4(topology):
     log.info("Disabled ciphers: %d" % dcount)
     global plus_all_ecount
     global plus_all_dcount
-    assert ecount == 20
+    assert ecount == 23
     assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
     weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK \
CIPHER" | wc -l' % topology.standalone.errlog)  wcount = \
int(weak.readline().rstrip()) @@ -402,7 +404,7 @@ def _47838_run_5(topology):
     global plus_all_ecount
     global plus_all_dcount
     if nss_version >= NSS320:
-        assert ecount == 20
+        assert ecount == 23
     else:
         assert ecount == 12
     assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
@@ -507,7 +509,7 @@ def _47838_run_8(topology):
     global plus_all_ecount
     global plus_all_dcount
     if nss_version >= NSS320:
-       assert ecount == 20
+       assert ecount == 23
     else:
        assert ecount == 12
     assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
@@ -547,7 +549,7 @@ def _47838_run_9(topology):
     log.info("Enabled ciphers: %d" % ecount)
     log.info("Disabled ciphers: %d" % dcount)
     if nss_version >= NSS320:
-        assert ecount == 27
+        assert ecount == 30
     else:
         assert ecount == 23
     assert dcount == 0
@@ -655,6 +657,7 @@ def _47928_run_0(topology):
                                                  (ldap.MOD_DELETE, 'sslVersionMin', \
                None),
                                                  (ldap.MOD_DELETE, 'sslVersionMax', \
                None)])
     topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, \
'nsslapd-errorlog-level', '64')]) +    time.sleep(5)
 
     log.info("\n######################### Restarting the server \
######################\n")  topology.standalone.stop(timeout=10)
@@ -823,7 +826,6 @@ def _47838_run_last(topology):
 
 
 def _47838_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47869MMR_test.py \
b/dirsrvtests/tests/tickets/ticket47869MMR_test.py index 630cb93..02408d0 100644
--- a/dirsrvtests/tests/tickets/ticket47869MMR_test.py
+++ b/dirsrvtests/tests/tickets/ticket47869MMR_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -132,8 +132,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
 
     # Here we have two instances master and consumer
     return TopologyMaster1Master2(master1, master2)
@@ -315,8 +317,6 @@ def test_ticket47869_check(topology):
 
 
 def test_ticket47869_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47871_test.py \
b/dirsrvtests/tests/tickets/ticket47871_test.py index d6ea214..7e7b56d 100644
--- a/dirsrvtests/tests/tickets/ticket47871_test.py
+++ b/dirsrvtests/tests/tickets/ticket47871_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -123,9 +123,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # clear the tmp directory
-    master.clearTmpDir(__file__)
-
+    def fin():
+        master.delete()
+        consumer.delete()
+    request.addfinalizer(fin)
     #
     # Here we have two instances master and consumer
     # with replication working. Either coming from a backup recovery
@@ -198,8 +199,6 @@ def test_ticket47871_2(topology):
 
 
 def test_ticket47871_final(topology):
-    topology.master.delete()
-    topology.consumer.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47900_test.py \
b/dirsrvtests/tests/tickets/ticket47900_test.py index c01b733..a3500d4 100644
--- a/dirsrvtests/tests/tickets/ticket47900_test.py
+++ b/dirsrvtests/tests/tickets/ticket47900_test.py
@@ -68,8 +68,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -321,7 +322,6 @@ def test_ticket47900(topology):
 
 
 def test_ticket47900_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47910_test.py \
b/dirsrvtests/tests/tickets/ticket47910_test.py index afcfd88..bb8ffc6 100644
--- a/dirsrvtests/tests/tickets/ticket47910_test.py
+++ b/dirsrvtests/tests/tickets/ticket47910_test.py
@@ -55,11 +55,11 @@ def topology(request):
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
-    
+
     def fin():
         standalone.delete()
     request.addfinalizer(fin)
-    
+
     return TopologyStandalone(standalone)
 
 
@@ -73,13 +73,13 @@ def log_dir(topology):
 
     log.info("Diable access log buffering")
     topology.standalone.setAccessLogBuffering(False)
-    
+
     log.info("Do a ldapsearch operation")
     topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, "(objectclass=*)")
-    
+
     log.info("sleep for sometime so that access log file get generated")
     time.sleep( 1 )
-    
+
     return topology.standalone.accesslog
 
 
@@ -95,7 +95,7 @@ def execute_logconv(start_time_stamp, end_time_stamp, access_log):
     assign these values to -S and -E options of logconv
     and, it will execute logconv and return result value
     '''
-    
+
     log.info("Executing logconv.pl with -S current time and -E end time")
     cmd = ['logconv.pl', '-S', start_time_stamp, '-E', end_time_stamp, access_log]
     log.info(" ".join(cmd))
@@ -115,20 +115,20 @@ def test_ticket47910_logconv_start_end_positive(topology, \
log_dir):  # Execute logconv.pl -S -E with random timestamp
     #
     log.info('Running test_ticket47910 - Execute logconv.pl -S -E with random \
                values')
-    
+
     log.info("taking current time with offset of 2 mins and formatting it to feed \
-S")  start_time_stamp = (datetime.now() - timedelta(minutes=2))
     formatted_start_time_stamp = format_time(start_time_stamp)
-    
+
     log.info("taking current time with offset of 2 mins and formatting it to feed \
-E")  end_time_stamp = (datetime.now() + timedelta(minutes=2))
     formatted_end_time_stamp = format_time(end_time_stamp)
-    
+
     log.info("Executing logconv.pl with -S and -E")
     result = execute_logconv(formatted_start_time_stamp, formatted_end_time_stamp, \
log_dir)  assert result == 0
 
-    
+
 def test_ticket47910_logconv_start_end_negative(topology, log_dir):
     '''
     Execute logconv.pl with -S and -E(endtime) with random time stamp
@@ -136,20 +136,20 @@ def test_ticket47910_logconv_start_end_negative(topology, \
log_dir):  starttime
     This should give error message
     '''
-    
+
     #
     # Execute logconv.pl -S and -E with random timestamp
     #
     log.info('Running test_ticket47910 - Execute logconv.pl -S -E with \
                starttime>endtime')
-    
+
     log.info("taking current time with offset of 2 mins and formatting it to feed \
-S")  start_time_stamp = (datetime.now() + timedelta(minutes=2))
     formatted_start_time_stamp = format_time(start_time_stamp)
-    
+
     log.info("taking current time with offset of 2 mins and formatting it to feed \
-E")  end_time_stamp = (datetime.now() - timedelta(minutes=2))
     formatted_end_time_stamp = format_time(end_time_stamp)
-    
+
     log.info("Executing logconv.pl with -S and -E")
     result = execute_logconv(formatted_start_time_stamp, formatted_end_time_stamp, \
log_dir)  assert result == 1
@@ -167,24 +167,24 @@ def test_ticket47910_logconv_start_end_invalid(topology, \
log_dir):  log.info("Set start time and end time to invalid values")
     start_time_stamp = "invalid"
     end_time_stamp = "invalid"
-    
+
     log.info("Executing logconv.pl with -S and -E")
     result = execute_logconv(start_time_stamp, end_time_stamp, log_dir)
     assert result == 1
 
-    
+
 def test_ticket47910_logconv_noaccesslogs(topology, log_dir):
-    
+
     '''
     Execute logconv.pl -S(starttime) without specify
-    access logs location  
+    access logs location
     '''
-    
+
     #
     # Execute logconv.pl -S with random timestamp and no access log location
     #
     log.info('Running test_ticket47910 - Execute logconv.pl without access logs')
-        
+
     log.info("taking current time with offset of 2 mins and formatting it to feed \
-S")  time_stamp = (datetime.now() - timedelta(minutes=2))
     formatted_time_stamp = format_time(time_stamp)
@@ -195,10 +195,10 @@ def test_ticket47910_logconv_noaccesslogs(topology, log_dir):
     stdout, stderr = proc.communicate()
     log.info("standard output" + stdout)
     log.info("standard errors" + stderr)
-    
+
     assert proc.returncode == 1
 
-    
+
 if __name__ == '__main__':
     # Run isolated
     # -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket47920_test.py \
b/dirsrvtests/tests/tickets/ticket47920_test.py index d4f6a53..99cc478 100644
--- a/dirsrvtests/tests/tickets/ticket47920_test.py
+++ b/dirsrvtests/tests/tickets/ticket47920_test.py
@@ -101,8 +101,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -169,7 +170,6 @@ def test_ticket47920_mod_readentry_ctrl(topology):
 
 
 def test_ticket47920_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47921_test.py \
b/dirsrvtests/tests/tickets/ticket47921_test.py index 4f3d54e..3465fc7 100644
--- a/dirsrvtests/tests/tickets/ticket47921_test.py
+++ b/dirsrvtests/tests/tickets/ticket47921_test.py
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -145,7 +146,6 @@ def test_ticket47921(topology):
 
 
 def test_ticket47921_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47927_test.py \
b/dirsrvtests/tests/tickets/ticket47927_test.py index 78e0b29..c449b69 100644
--- a/dirsrvtests/tests/tickets/ticket47927_test.py
+++ b/dirsrvtests/tests/tickets/ticket47927_test.py
@@ -69,8 +69,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -289,7 +290,6 @@ def test_ticket47927_six(topology):
 
 
 def test_ticket47927_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47937_test.py \
b/dirsrvtests/tests/tickets/ticket47937_test.py index 6c09cf8..009fbd3 100644
--- a/dirsrvtests/tests/tickets/ticket47937_test.py
+++ b/dirsrvtests/tests/tickets/ticket47937_test.py
@@ -60,8 +60,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -164,7 +165,6 @@ def test_ticket47937(topology):
 
 
 def test_ticket47937_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47950_test.py \
b/dirsrvtests/tests/tickets/ticket47950_test.py index 7226637..c55c4ea 100644
--- a/dirsrvtests/tests/tickets/ticket47950_test.py
+++ b/dirsrvtests/tests/tickets/ticket47950_test.py
@@ -64,8 +64,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -199,7 +200,6 @@ def test_ticket47950(topology):
 
 
 def test_ticket47953_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47953_test.py \
b/dirsrvtests/tests/tickets/ticket47953_test.py index f64d899..5dff58b 100644
--- a/dirsrvtests/tests/tickets/ticket47953_test.py
+++ b/dirsrvtests/tests/tickets/ticket47953_test.py
@@ -12,6 +12,7 @@ import time
 import ldap
 import logging
 import pytest
+import shutil
 from lib389 import DirSrv, Entry, tools, tasks
 from lib389.tools import DirSrvTools
 from lib389._constants import *
@@ -61,8 +62,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    #request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -80,7 +82,15 @@ def test_ticket47953(topology):
     #
     # Import an invalid ldif
     #
-    ldif_file = topology.standalone.getDir(__file__, DATA_DIR) + \
"ticket47953/ticket47953.ldif" +    ldif_file = (topology.standalone.getDir(__file__, \
DATA_DIR) + +                 "ticket47953/ticket47953.ldif")
+    try:
+        ldif_dir = topology.standalone.get_ldif_dir()
+        shutil.copy(ldif_file, ldif_dir)
+        ldif_file = ldif_dir + '/ticket47953.ldif'
+    except:
+        log.fatal('Failed to copy ldif to instance ldif dir')
+        assert False
     importTask = Tasks(topology.standalone)
     args = {TASK_WAIT: True}
     try:
@@ -88,6 +98,8 @@ def test_ticket47953(topology):
     except ValueError:
         assert False
 
+    time.sleep(2)
+
     #
     # Delete the invalid aci
     #
@@ -104,7 +116,6 @@ def test_ticket47953(topology):
 
 
 def test_ticket47953_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47963_test.py \
b/dirsrvtests/tests/tickets/ticket47963_test.py index deed905..a991173 100644
--- a/dirsrvtests/tests/tickets/ticket47963_test.py
+++ b/dirsrvtests/tests/tickets/ticket47963_test.py
@@ -50,8 +50,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -181,7 +182,6 @@ def test_ticket47963(topology):
 
 
 def test_ticket47963_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47966_test.py \
b/dirsrvtests/tests/tickets/ticket47966_test.py index b311f47..3130f69 100644
--- a/dirsrvtests/tests/tickets/ticket47966_test.py
+++ b/dirsrvtests/tests/tickets/ticket47966_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -114,8 +114,10 @@ def topology(request):
         log.fatal('Replication is not working.')
         assert False
 
-    # Clear out the tmp dir
-    master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
 
     return TopologyReplication(master1, master2)
 
@@ -208,8 +210,6 @@ def test_ticket47966(topology):
 
 
 def test_ticket47966_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47970_test.py \
b/dirsrvtests/tests/tickets/ticket47970_test.py index a748939..bea74bc 100644
--- a/dirsrvtests/tests/tickets/ticket47970_test.py
+++ b/dirsrvtests/tests/tickets/ticket47970_test.py
@@ -65,8 +65,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -134,7 +135,6 @@ def test_ticket47970(topology):
 
 
 def test_ticket47970_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47973_test.py \
b/dirsrvtests/tests/tickets/ticket47973_test.py index 12bb789..d2fdcd5 100644
--- a/dirsrvtests/tests/tickets/ticket47973_test.py
+++ b/dirsrvtests/tests/tickets/ticket47973_test.py
@@ -65,8 +65,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -161,7 +162,6 @@ def test_ticket47973(topology):
 
 
 def test_ticket47973_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47980_test.py \
b/dirsrvtests/tests/tickets/ticket47980_test.py index 34f0d3f..6b6b5bf 100644
--- a/dirsrvtests/tests/tickets/ticket47980_test.py
+++ b/dirsrvtests/tests/tickets/ticket47980_test.py
@@ -117,8 +117,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -638,7 +639,6 @@ def test_ticket47980(topology):
 
 
 def test_ticket47980_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47981_test.py \
b/dirsrvtests/tests/tickets/ticket47981_test.py index b25d7dd..0fcf51e 100644
--- a/dirsrvtests/tests/tickets/ticket47981_test.py
+++ b/dirsrvtests/tests/tickets/ticket47981_test.py
@@ -73,8 +73,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -271,7 +272,6 @@ def test_ticket47981(topology):
 
 
 def test_ticket47981_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket47988_test.py \
b/dirsrvtests/tests/tickets/ticket47988_test.py index db58e9d..45abba6 100644
--- a/dirsrvtests/tests/tickets/ticket47988_test.py
+++ b/dirsrvtests/tests/tickets/ticket47988_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 '''
@@ -123,6 +123,11 @@ def topology(request):
     master2.create()
     master2.open()
 
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
+
     #
     # Now prepare the Master-Consumer topology
     #
@@ -470,8 +475,6 @@ def test_ticket47988_6(topology):
 
 
 def test_ticket47988_final(topology):
-    topology.master1.delete()
-    topology.master2.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48005_test.py \
b/dirsrvtests/tests/tickets/ticket48005_test.py index b2a93e1..116b1e9 100644
--- a/dirsrvtests/tests/tickets/ticket48005_test.py
+++ b/dirsrvtests/tests/tickets/ticket48005_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -50,8 +50,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    #request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -75,7 +76,7 @@ def test_ticket48005_setup(topology):
         log.info('No ulimit -c in %s' % sysconfig_dirsrv)
         log.info('Adding it')
         cmdline = 'echo "ulimit -c unlimited" >> %s' % sysconfig_dirsrv
-        
+
     sysconfig_dirsrv_systemd = sysconfig_dirsrv + ".systemd"
     cmdline = 'egrep LimitCORE=infinity %s' % sysconfig_dirsrv_systemd
     p = os.popen(cmdline, "r")
@@ -87,7 +88,7 @@ def test_ticket48005_setup(topology):
 
     topology.standalone.restart(timeout=10)
 
-    ldif_file = topology.standalone.getDir(__file__, DATA_DIR) + "ticket48005.ldif"
+    ldif_file = topology.standalone.get_ldif_dir() + "/ticket48005.ldif"
     os.system('ls %s' % ldif_file)
     os.system('rm -f %s' % ldif_file)
     if hasattr(topology.standalone, 'prefix'):
@@ -113,7 +114,7 @@ def test_ticket48005_memberof(topology):
     '''
     Enable memberof and referint plugin
     Run fixmemberof task without waiting
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     '''
@@ -132,7 +133,7 @@ def test_ticket48005_memberof(topology):
 
     topology.standalone.stop(timeout=10)
 
-    mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+    mytmp = '/tmp'
     logdir = re.sub('errors', '', topology.standalone.errlog)
     cmdline = 'ls ' + logdir + 'core*'
     p = os.popen(cmdline, "r")
@@ -157,15 +158,15 @@ def test_ticket48005_automember(topology):
     '''
     Enable automember and referint plugin
     1. Run automember rebuild membership task without waiting
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     2. Run automember export updates task without waiting
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     3. Run automember map updates task without waiting
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     '''
@@ -198,7 +199,7 @@ def test_ticket48005_automember(topology):
 
     topology.standalone.stop(timeout=10)
 
-    mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+    mytmp = '/tmp'
     logdir = re.sub('errors', '', topology.standalone.errlog)
     cmdline = 'ls ' + logdir + 'core*'
     p = os.popen(cmdline, "r")
@@ -233,7 +234,7 @@ def test_ticket48005_automember(topology):
 
     topology.standalone.start(timeout=10)
 
-    ldif_in_file = topology.standalone.getDir(__file__, DATA_DIR) + \
"ticket48005.ldif" +    ldif_in_file = topology.standalone.get_ldif_dir() + \
"/ticket48005.ldif"  ldif_out_file = mytmp + "/ticket48005_automember_map.ldif"
     try:
         # run the automember map task
@@ -267,7 +268,7 @@ def test_ticket48005_automember(topology):
 def test_ticket48005_syntaxvalidate(topology):
     '''
     Run syntax validate task without waiting
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     '''
@@ -282,7 +283,7 @@ def test_ticket48005_syntaxvalidate(topology):
 
     topology.standalone.stop(timeout=10)
 
-    mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+    mytmp = '/tmp'
     logdir = re.sub('errors', '', topology.standalone.errlog)
     cmdline = 'ls ' + logdir + 'core*'
     p = os.popen(cmdline, "r")
@@ -303,7 +304,7 @@ def test_ticket48005_usn(topology):
     Enable entryusn
     Delete all user entries.
     Run USN tombstone cleanup task
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     '''
@@ -337,7 +338,7 @@ def test_ticket48005_usn(topology):
 
     topology.standalone.stop(timeout=10)
 
-    mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+    mytmp = '/tmp'
     logdir = re.sub('errors', '', topology.standalone.errlog)
     cmdline = 'ls ' + logdir + 'core*'
     p = os.popen(cmdline, "r")
@@ -360,7 +361,7 @@ def test_ticket48005_usn(topology):
 def test_ticket48005_schemareload(topology):
     '''
     Run schema reload task without waiting
-    Shutdown the server 
+    Shutdown the server
     Check if a core file was generated or not
     If no core was found, this test case was successful.
     '''
@@ -380,7 +381,7 @@ def test_ticket48005_schemareload(topology):
     p = os.popen(cmdline, "r")
     lcore = p.readline()
     if lcore != "":
-        mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+        mytmp = '/tmp'
         s.system('mv %score* %s/core.ticket48005_schema_reload' % (logdir, mytmp))
         log.error('Schema reload: Moved core file(s) to %s; Test failed' % mytmp)
         assert False
@@ -392,7 +393,6 @@ def test_ticket48005_schemareload(topology):
 
 
 def test_ticket48005_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48013_test.py \
b/dirsrvtests/tests/tickets/ticket48013_test.py index 730f929..b6fe22e 100644
--- a/dirsrvtests/tests/tickets/ticket48013_test.py
+++ b/dirsrvtests/tests/tickets/ticket48013_test.py
@@ -70,8 +70,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -125,7 +126,6 @@ def test_ticket48013(topology):
 
 
 def test_ticket48013_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48026_test.py \
b/dirsrvtests/tests/tickets/ticket48026_test.py index f8d440f..2f411aa 100644
--- a/dirsrvtests/tests/tickets/ticket48026_test.py
+++ b/dirsrvtests/tests/tickets/ticket48026_test.py
@@ -54,8 +54,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -150,7 +151,6 @@ def test_ticket48026(topology):
 
 
 def test_ticket48026_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48170_test.py \
b/dirsrvtests/tests/tickets/ticket48170_test.py index cc71e37..2261c11 100644
--- a/dirsrvtests/tests/tickets/ticket48170_test.py
+++ b/dirsrvtests/tests/tickets/ticket48170_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -51,8 +51,9 @@ def topology(request):
     standalone.create()
     standalone.open()
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     return TopologyStandalone(standalone)
 
@@ -78,7 +79,6 @@ def test_ticket48170(topology):
 
 
 def test_ticket48170_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48194_test.py \
b/dirsrvtests/tests/tickets/ticket48194_test.py index fa4fe72..453a794 100644
--- a/dirsrvtests/tests/tickets/ticket48194_test.py
+++ b/dirsrvtests/tests/tickets/ticket48194_test.py
@@ -26,7 +26,7 @@ CONFIG_DN = 'cn=config'
 ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
 RSA = 'RSA'
 RSA_DN = 'cn=%s,%s' % (RSA, ENCRYPTION_DN)
-LDAPSPORT = '636'
+LDAPSPORT = str(DEFAULT_SECURE_PORT)
 SERVERCERT = 'Server-Cert'
 plus_all_ecount = 0
 plus_all_dcount = 0
@@ -68,8 +68,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -457,10 +458,11 @@ def my_test_run_11(topology):
     connectWithOpenssl(topology, 'RC4-SHA', False)
     connectWithOpenssl(topology, 'AES256-SHA256', False)
 
+
 def my_test_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
+
 def test_ticket48194(topology):
     '''
     run_isolated is used to run these test cases independently of a test scheduler \
                (xunit, py.test..)
diff --git a/dirsrvtests/tests/tickets/ticket48212_test.py \
b/dirsrvtests/tests/tickets/ticket48212_test.py index 82ec102..58a860f 100644
--- a/dirsrvtests/tests/tickets/ticket48212_test.py
+++ b/dirsrvtests/tests/tickets/ticket48212_test.py
@@ -91,7 +91,7 @@ def reindexUidNumber(topology):
     indexOUT = os.popen(indexCMD, "r")
     topology.standalone.log.info("Running %s" % indexCMD)
 
-    time.sleep(15)
+    time.sleep(30)
 
     tailCMD = "tail -n 3 " + topology.standalone.errlog
     tailOUT = os.popen(tailCMD, "r")
@@ -117,6 +117,14 @@ def test_ticket48212(topology):
 
     data_dir_path = topology.standalone.getDir(__file__, DATA_DIR)
     ldif_file = data_dir_path + "ticket48212/" + _MYLDIF
+    try:
+        ldif_dir = topology.standalone.get_ldif_dir()
+        shutil.copy(ldif_file, ldif_dir)
+        ldif_file = ldif_dir + '/' +  _MYLDIF
+    except:
+        log.fatal('Failed to copy ldif to instance ldif dir')
+        assert False
+
     topology.standalone.log.info("\n\n######################### Import Test data \
(%s) ######################\n" % ldif_file)  args = {TASK_WAIT: True}
     importTask = Tasks(topology.standalone)
diff --git a/dirsrvtests/tests/tickets/ticket48214_test.py \
b/dirsrvtests/tests/tickets/ticket48214_test.py index 14bf392..8c8bf40 100644
--- a/dirsrvtests/tests/tickets/ticket48214_test.py
+++ b/dirsrvtests/tests/tickets/ticket48214_test.py
@@ -56,12 +56,14 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
 
+
 def getMaxBerSizeFromDseLdif(topology):
     topology.standalone.log.info("		+++++ Get maxbersize from dse.ldif +++++\n")
     dse_ldif = topology.standalone.confdir + '/dse.ldif'
@@ -145,7 +147,6 @@ def test_ticket48214_run(topology):
 
 
 def test_ticket48214_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48226_test.py \
b/dirsrvtests/tests/tickets/ticket48226_test.py index 6e244af..9f96d8a 100644
--- a/dirsrvtests/tests/tickets/ticket48226_test.py
+++ b/dirsrvtests/tests/tickets/ticket48226_test.py
@@ -110,16 +110,6 @@ def topology(request):
     master1.agreement.init(SUFFIX, HOST_MASTER_2, PORT_MASTER_2)
     master1.waitForReplInit(m1_m2_agmt)
 
-    # Check replication is working...
-    if master1.testReplication(DEFAULT_SUFFIX, master2):
-        log.info('Replication is working.')
-    else:
-        log.fatal('Replication is not working.')
-        assert False
-
-    # Clear out the tmp dir
-    master1.clearTmpDir(__file__)
-
     def fin():
         master1.delete()
         master2.delete()
@@ -127,6 +117,13 @@ def topology(request):
         valgrind_disable(sbin_dir)
     request.addfinalizer(fin)
 
+    # Check replication is working...
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
+        assert False
+
     return TopologyReplication(master1, master2)
 
 
@@ -145,8 +142,8 @@ def test_ticket48226_set_purgedelay(topology):
         assert False
     topology.master1.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, \
                'nsslapd-auditlog-logging-enabled', 'on')])
     topology.master2.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, \
                'nsslapd-auditlog-logging-enabled', 'on')])
-    topology.master1.restart(10)
-    topology.master2.restart(10)
+    topology.master1.restart(30)
+    topology.master2.restart(30)
 
 
 def test_ticket48226_1(topology):
@@ -200,7 +197,7 @@ def test_ticket48226_1(topology):
     mods = [(ldap.MOD_ADD, 'description', '5')]
     topology.master2.modify_s(dn, mods)
 
-    # sleep of purgedelay so that the next update will purge the CSN_7
+    # sleep of purge delay so that the next update will purge the CSN_7
     time.sleep(6)
 
     # ADD 'description' by '6' that purge the state info
@@ -208,13 +205,12 @@ def test_ticket48226_1(topology):
     topology.master2.modify_s(dn, mods)
 
     # Restart master1
-    topology.master1.start(10)
+    #topology.master1.start(30)
 
-    # Get the results file
     results_file = valgrind_get_results_file(topology.master2)
 
     # Stop master2
-    topology.master2.stop(10)
+    topology.master2.stop(30)
 
     # Check for leak
     if valgrind_check_file(results_file, VALGRIND_LEAK_STR, 'csnset_dup'):
@@ -237,7 +233,6 @@ def test_ticket48226_1(topology):
     else:
         log.info('Valgrind is happy!')
 
-    topology.master1.start(10)
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48228_test.py \
b/dirsrvtests/tests/tickets/ticket48228_test.py index f3657c4..f820cbe 100644
--- a/dirsrvtests/tests/tickets/ticket48228_test.py
+++ b/dirsrvtests/tests/tickets/ticket48228_test.py
@@ -72,8 +72,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -306,7 +307,6 @@ def test_ticket48228_test_subtree_policy(topology):
 
 
 def test_ticket48228_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48252_test.py \
b/dirsrvtests/tests/tickets/ticket48252_test.py index 5970d70..2c4eeab 100644
--- a/dirsrvtests/tests/tickets/ticket48252_test.py
+++ b/dirsrvtests/tests/tickets/ticket48252_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -64,12 +64,14 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
 
+
 def test_ticket48252_setup(topology):
     """
     Enable USN plug-in for enabling tombstones
@@ -90,6 +92,8 @@ def test_ticket48252_setup(topology):
                                          'objectclass': "top person".split(),
                                          'sn': name,
                                          'cn': name})))
+
+
 def in_index_file(topology, id, index):
     key = "%s%s" % (TEST_USER, id)
     log.info("	dbscan - checking %s is in index file %s..." % (key, index))
@@ -104,6 +108,7 @@ def in_index_file(topology, id, index):
 
     return found
 
+
 def test_ticket48252_run_0(topology):
     """
     Delete an entry cn=test_entry0
@@ -124,6 +129,7 @@ def test_ticket48252_run_0(topology):
     log.info("	entry %s is not in the cn index file after reindexed." % del_entry)
     log.info('Case 1 - PASSED')
 
+
 def test_ticket48252_run_1(topology):
     """
     Delete an entry cn=test_entry1
@@ -147,10 +153,11 @@ def test_ticket48252_run_1(topology):
     log.info("	entry %s is in the objectclass index file after reindexed." % \
del_entry)  log.info('Case 2 - PASSED')
 
+
 def test_ticket48252_final(topology):
-    topology.standalone.delete()
     log.info('Testing Ticket 48252 - PASSED.')
 
+
 def run_isolated():
     '''
         run_isolated is used to run these test cases independently of a test \
                scheduler (xunit, py.test..)
diff --git a/dirsrvtests/tests/tickets/ticket48265_test.py \
b/dirsrvtests/tests/tickets/ticket48265_test.py index fb695c5..9bfa34d 100644
--- a/dirsrvtests/tests/tickets/ticket48265_test.py
+++ b/dirsrvtests/tests/tickets/ticket48265_test.py
@@ -54,6 +54,10 @@ def topology(request):
     standalone.create()
     standalone.open()
 
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
+
     return TopologyStandalone(standalone)
 
 
@@ -103,7 +107,6 @@ def test_ticket48265_test(topology):
 
 
 def test_ticket48265_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48270_test.py \
b/dirsrvtests/tests/tickets/ticket48270_test.py index fb795d5..78b357d 100644
--- a/dirsrvtests/tests/tickets/ticket48270_test.py
+++ b/dirsrvtests/tests/tickets/ticket48270_test.py
@@ -4,8 +4,7 @@ import time
 import ldap
 import logging
 import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
 from lib389._constants import *
 from lib389.properties import *
 from lib389.tasks import *
@@ -36,14 +35,8 @@ class TopologyStandalone(object):
 
 @pytest.fixture(scope="module")
 def topology(request):
-    global installation1_prefix
-    if installation1_prefix:
-        args_instance[SER_DEPLOYED_DIR] = installation1_prefix
-
     # Creating standalone instance ...
     standalone = DirSrv(verbose=False)
-    if installation1_prefix:
-        args_instance[SER_DEPLOYED_DIR] = installation1_prefix
     args_instance[SER_HOST] = HOST_STANDALONE
     args_instance[SER_PORT] = PORT_STANDALONE
     args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
@@ -59,7 +52,7 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         standalone.delete()
-    #request.addfinalizer(fin)
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
@@ -103,11 +96,11 @@ def test_ticket48270_homeDirectory_indexed_cis(topology):
     #topology.standalone.start(timeout=10)
     args = {TASK_WAIT: True}
     topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', \
                args=args)
-    
+
     log.info("Check indexing succeeded with a specified matching rule")
     file_path = os.path.join(topology.standalone.prefix, \
"var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)  file_obj = \
                open(file_path, "r")
-    
+
     # Check if the MR configuration failure occurs
     regex = re.compile("unknown or invalid matching rule")
     while True:
@@ -115,27 +108,29 @@ def test_ticket48270_homeDirectory_indexed_cis(topology):
         found = regex.search(line)
         if ((line == '') or (found)):
             break
-        
+
     if (found):
         log.info("The configuration of a specific MR fails")
         log.info(line)
         #assert not found
 
+
 def test_ticket48270_homeDirectory_mixed_value(topology):
     # Set a homedirectory value with mixed case
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
     mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
     topology.standalone.modify_s(name, mod)
 
+
 def test_ticket48270_extensible_search(topology):
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    
+
     # check with the exact stored value
     log.info("Default: can retrieve an entry filter syntax with exact stored value")
     ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % \
                MIXED_VALUE)
     log.info("Default: can retrieve an entry filter caseExactIA5Match with exact \
                stored value")
     ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, \
                "(homeDirectory:caseExactIA5Match:=%s)" % MIXED_VALUE)
-    
+
     # check with a lower case value that is different from the stored value
     log.info("Default: can not retrieve an entry filter syntax match with lowered \
stored value")  try:
@@ -152,6 +147,7 @@ def test_ticket48270_extensible_search(topology):
     log.info("Default: can retrieve an entry filter caseIgnoreIA5Match with lowered \
                stored value")
     ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, \
"(homeDirectory:caseIgnoreIA5Match:=%s)" % LOWER_VALUE)  
+
 def test_ticket48270(topology):
     """Write your testcase here...
 
@@ -165,13 +161,11 @@ def test_ticket48270(topology):
 if __name__ == '__main__':
     # Run isolated
     # -s for DEBUG mode
-    global installation1_prefix
-    installation1_prefix = '/home/tbordaz/install_master'
     topo = topology(True)
     test_ticket48270_init(topo)
     test_ticket48270_homeDirectory_indexed_cis(topo)
     test_ticket48270_homeDirectory_mixed_value(topo)
     test_ticket48270_extensible_search(topo)
-    
+
 #     CURRENT_FILE = os.path.realpath(__file__)
 #     pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48294_test.py \
b/dirsrvtests/tests/tickets/ticket48294_test.py index 109a67e..ddb71bc 100644
--- a/dirsrvtests/tests/tickets/ticket48294_test.py
+++ b/dirsrvtests/tests/tickets/ticket48294_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -67,8 +67,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -79,6 +80,7 @@ def _header(topology, label):
     topology.standalone.log.info("####### %s" % label)
     topology.standalone.log.info("###############################################")
 
+
 def check_attr_val(topology, dn, attr, expected):
     try:
         centry = topology.standalone.search_s(dn, ldap.SCOPE_BASE, 'uid=*')
@@ -259,7 +261,6 @@ def _48294_run_2(topology):
 
 
 def _48294_final(topology):
-    topology.standalone.delete()
     log.info('All PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48295_test.py \
b/dirsrvtests/tests/tickets/ticket48295_test.py index 13a7f88..bcc8879 100644
--- a/dirsrvtests/tests/tickets/ticket48295_test.py
+++ b/dirsrvtests/tests/tickets/ticket48295_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -67,8 +67,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -183,7 +184,6 @@ def _48295_run(topology):
 
 
 def _48295_final(topology):
-    topology.standalone.delete()
     log.info('All PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48342_test.py \
b/dirsrvtests/tests/tickets/ticket48342_test.py index 104a938..6dd5506 100644
--- a/dirsrvtests/tests/tickets/ticket48342_test.py
+++ b/dirsrvtests/tests/tickets/ticket48342_test.py
@@ -180,10 +180,6 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         for master in (master1, master2, master3):
-        #    master.db2ldif(bename=DEFAULT_BENAME, suffixes=[DEFAULT_SUFFIX], \
                excludeSuffixes=[], encrypt=False, \
-        #        repl_data=True, outputfile='%s/ldif/%s.ldif' % \
                (master.dbdir,SERVERID_STANDALONE ))
-        #    master.clearBackupFS()
-        #    master.backupFS()
             master.delete()
     request.addfinalizer(fin)
 
@@ -240,7 +236,7 @@ def test_ticket4026(topology):
                                             'ou': 'people'})))
     except ldap.ALREADY_EXISTS:
         pass
-    
+
     topology.master1.add_s(Entry(('ou=ranges,' + SUFFIX, {
                                      'objectclass': 'top \
organizationalunit'.split(),  'ou': 'ranges'
@@ -255,7 +251,7 @@ def test_ticket4026(topology):
                           'gidNumber': '1',
                           'homeDirectory': '/home/%s' % name
                           })))
-        
+
     # make master3 having more free slots that master2
     # so master1 will contact master3
     _dna_config(topology.master1, nextValue=100, maxValue=10)
@@ -263,7 +259,7 @@ def test_ticket4026(topology):
     _dna_config(topology.master3, nextValue=300, maxValue=3000)
 
     # Turn on lots of error logging now.
-    
+
     mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '16384')]
     #mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '1')]
     topology.master1.modify_s('cn=config', mod)
@@ -273,7 +269,7 @@ def test_ticket4026(topology):
     # We need to wait for the event in dna.c to fire to start the servers
     # see dna.c line 899
     time.sleep(60)
-    
+
     # add on master1 users with description DNA
     for cpt in range(10):
         name = "user_with_desc1_%d" % (cpt)
diff --git a/dirsrvtests/tests/tickets/ticket48362_test.py \
b/dirsrvtests/tests/tickets/ticket48362_test.py index 0f56c01..dc03d3a 100644
--- a/dirsrvtests/tests/tickets/ticket48362_test.py
+++ b/dirsrvtests/tests/tickets/ticket48362_test.py
@@ -111,17 +111,14 @@ def topology(request):
     def fin():
         master1.delete()
         master2.delete()
-    #request.addfinalizer(fin)
-
-    # Clear out the tmp dir
-    master1.clearTmpDir(__file__)
+    request.addfinalizer(fin)
 
     return TopologyReplication(master1, master2)
 
 
 def _dna_config(server, nextValue=500, maxValue=510):
     log.info("Add dna plugin config entry...%s" % server)
-    
+
     cfg_base_dn = 'cn=dna config,cn=Distributed Numeric Assignment \
Plugin,cn=plugins,cn=config'  
     try:
@@ -152,8 +149,8 @@ def _dna_config(server, nextValue=500, maxValue=510):
     time.sleep(1)
     server.start(timeout=120)
     time.sleep(3)
-    
-    
+
+
 SHARE_CFG_BASE = 'ou=ranges,' + SUFFIX
 
 def _wait_shared_cfg_servers(server, expected):
@@ -174,22 +171,22 @@ def _wait_shared_cfg_servers(server, expected):
             pass
         except lib389.NoSuchEntryError:
             pass
-        
+
 def _shared_cfg_server_update(server, method=BINDMETHOD_VALUE, \
                transport=PROTOCOLE_VALUE):
     log.info('\n======================== Update dnaPortNum=%d \
============================\n'% server.port)  try:
         ent = server.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, "(dnaPortNum=%d)" \
                % server.port)
-        mod = [(ldap.MOD_REPLACE, BINDMETHOD_ATTR, method), 
+        mod = [(ldap.MOD_REPLACE, BINDMETHOD_ATTR, method),
                (ldap.MOD_REPLACE, PROTOCOLE_ATTR, transport)]
         server.modify_s(ent.dn, mod)
-        
+
         log.info('\n======================== Update done\n')
         ent = server.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, "(dnaPortNum=%d)" \
% server.port)  except ldap.NO_SUCH_OBJECT:
         log.fatal("Unknown host")
         assert False
-        
-        
+
+
 def test_ticket48362(topology):
     """Write your replication testcase here.
 
@@ -206,7 +203,7 @@ def test_ticket48362(topology):
                                             'ou': 'people'})))
     except ldap.ALREADY_EXISTS:
         pass
-    
+
     topology.master1.add_s(Entry((SHARE_CFG_BASE, {
                                      'objectclass': 'top \
organizationalunit'.split(),  'ou': 'ranges'
@@ -216,15 +213,15 @@ def test_ticket48362(topology):
     # will not contain master 2. So at restart, master 2 is recreated without the \
method/protocol attribute  _dna_config(topology.master1, nextValue=1000, \
maxValue=100)  _dna_config(topology.master2, nextValue=2000, maxValue=-1)
-    
+
     # check we have all the servers available
     _wait_shared_cfg_servers(topology.master1, 2)
     _wait_shared_cfg_servers(topology.master2, 2)
-    
+
     # now force the method/transport on the servers entry
     _shared_cfg_server_update(topology.master1)
     _shared_cfg_server_update(topology.master2)
-    
+
 
 
     log.info('\n======================== BEFORE RESTART \
============================\n') @@ -240,10 +237,10 @@ def \
                test_ticket48362(topology):
     assert(ent.hasAttr(PROTOCOLE_ATTR) and ent.getValue(PROTOCOLE_ATTR) == \
PROTOCOLE_VALUE)  topology.master1.restart(10)
     topology.master2.restart(10)
-    
+
     # to allow DNA plugin to recreate the local host entry
     time.sleep(40)
-    
+
     log.info('\n=================== AFTER RESTART \
                =================================\n')
     ent = topology.master1.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, \
                "(dnaPortNum=%d)" % topology.master1.port)
     log.info('\n=================== AFTER RESTART \
                =================================\n')
diff --git a/dirsrvtests/tests/tickets/ticket48366_test.py \
b/dirsrvtests/tests/tickets/ticket48366_test.py index fb2dd97..2ce4ccf 100644
--- a/dirsrvtests/tests/tickets/ticket48366_test.py
+++ b/dirsrvtests/tests/tickets/ticket48366_test.py
@@ -3,7 +3,7 @@
 # All rights reserved.
 #
 # License: GPL (version 3 or any later version).
-# See LICENSE for details. 
+# See LICENSE for details.
 # --- END COPYRIGHT BLOCK ---
 #
 import os
@@ -27,7 +27,7 @@ TEST_USER_DN    = 'cn=test,ou=people,%s' % SUFFIX
 USER_PW    = 'password'
 
 
-# subtrees used in test 
+# subtrees used in test
 SUBTREE_GREEN = "ou=green,%s" % SUFFIX
 SUBTREE_RED   = "ou=red,%s" % SUFFIX
 SUBTREES = (SUBTREE_GREEN, SUBTREE_RED)
@@ -67,8 +67,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -185,8 +186,8 @@ def test_ticket48366_search_dm(topology):
     ents = topology.standalone.search_ext_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1', \
serverctrls=[proxy_ctrl])  assert (len(ents) == 0)
 
+
 def test_ticket48366_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48497_test.py \
b/dirsrvtests/tests/tickets/ticket48497_test.py index f82e842..debe63f 100644
--- a/dirsrvtests/tests/tickets/ticket48497_test.py
+++ b/dirsrvtests/tests/tickets/ticket48497_test.py
@@ -59,7 +59,7 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         standalone.delete()
-    #request.addfinalizer(fin)
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
@@ -83,16 +83,16 @@ def test_ticket48497_homeDirectory_mixed_value(topology):
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
     mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
     topology.standalone.modify_s(name, mod)
-    
+
 def test_ticket48497_extensible_search(topology):
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    
+
     # check with the exact stored value
     log.info("Default: can retrieve an entry filter syntax with exact stored value")
     ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % \
                MIXED_VALUE)
     log.info("Default: can retrieve an entry filter caseExactIA5Match with exact \
                stored value")
     ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, \
                "(homeDirectory:caseExactIA5Match:=%s)" % MIXED_VALUE)
-    
+
     # check with a lower case value that is different from the stored value
     log.info("Default: can not retrieve an entry filter syntax match with lowered \
stored value")  try:
@@ -131,11 +131,11 @@ def test_ticket48497_homeDirectory_index_cfg(topology):
 def test_ticket48497_homeDirectory_index_run(topology):
     args = {TASK_WAIT: True}
     topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', \
                args=args)
-    
+
     log.info("Check indexing succeeded with a specified matching rule")
     file_path = os.path.join(topology.standalone.prefix, \
"var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)  file_obj = \
                open(file_path, "r")
-    
+
     # Check if the MR configuration failure occurs
     regex = re.compile("unknown or invalid matching rule")
     while True:
@@ -143,7 +143,7 @@ def test_ticket48497_homeDirectory_index_run(topology):
         found = regex.search(line)
         if ((line == '') or (found)):
             break
-        
+
     if (found):
         log.info("The configuration of a specific MR fails")
         log.info(line)
@@ -166,8 +166,8 @@ if __name__ == '__main__':
 #     installation1_prefix = None
 #     topo = topology(True)
 #     test_ticket48497_init(topo)
-# 
-# 
+#
+#
 #     test_ticket48497_homeDirectory_mixed_value(topo)
 #     test_ticket48497_extensible_search(topo)
 #     test_ticket48497_homeDirectory_index_cfg(topo)
diff --git a/dirsrvtests/tests/tickets/ticket48745_test.py \
b/dirsrvtests/tests/tickets/ticket48745_test.py index adea76f..ca888da 100644
--- a/dirsrvtests/tests/tickets/ticket48745_test.py
+++ b/dirsrvtests/tests/tickets/ticket48745_test.py
@@ -59,7 +59,7 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         standalone.delete()
-    #request.addfinalizer(fin)
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
@@ -102,11 +102,11 @@ def test_ticket48745_homeDirectory_indexed_cis(topology):
     #topology.standalone.start(timeout=10)
     args = {TASK_WAIT: True}
     topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', \
                args=args)
-    
+
     log.info("Check indexing succeeded with a specified matching rule")
     file_path = os.path.join(topology.standalone.prefix, \
"var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)  file_obj = \
                open(file_path, "r")
-    
+
     # Check if the MR configuration failure occurs
     regex = re.compile("unknown or invalid matching rule")
     while True:
@@ -114,7 +114,7 @@ def test_ticket48745_homeDirectory_indexed_cis(topology):
         found = regex.search(line)
         if ((line == '') or (found)):
             break
-        
+
     if (found):
         log.info("The configuration of a specific MR fails")
         log.info(line)
@@ -128,7 +128,7 @@ def test_ticket48745_homeDirectory_mixed_value(topology):
 
 def test_ticket48745_extensible_search_after_index(topology):
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    
+
     # check with the exact stored value
     log.info("Default: can retrieve an entry filter syntax with exact stored value")
     ent = topology.standalone.getEntry(SUFFIX, ldap.SCOPE_SUBTREE, \
"(homeDirectory=%s)" % MIXED_VALUE) @@ -176,7 +176,7 @@ if __name__ == '__main__':
 #     installation1_prefix = None
 #     topo = topology(True)
 #     test_ticket48745_init(topo)
-# 
+#
 #     test_ticket48745_homeDirectory_indexed_cis(topo)
 #     test_ticket48745_homeDirectory_mixed_value(topo)
 #     test_ticket48745_extensible_search_after_index(topo)
diff --git a/dirsrvtests/tests/tickets/ticket48746_test.py \
b/dirsrvtests/tests/tickets/ticket48746_test.py index ce766ae..038f1dd 100644
--- a/dirsrvtests/tests/tickets/ticket48746_test.py
+++ b/dirsrvtests/tests/tickets/ticket48746_test.py
@@ -59,7 +59,7 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         standalone.delete()
-    #request.addfinalizer(fin)
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
@@ -102,11 +102,11 @@ def test_ticket48746_homeDirectory_indexed_cis(topology):
     #topology.standalone.start(timeout=10)
     args = {TASK_WAIT: True}
     topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', \
                args=args)
-    
+
     log.info("Check indexing succeeded with a specified matching rule")
     file_path = os.path.join(topology.standalone.prefix, \
"var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)  file_obj = \
                open(file_path, "r")
-    
+
     # Check if the MR configuration failure occurs
     regex = re.compile("unknown or invalid matching rule")
     while True:
@@ -114,7 +114,7 @@ def test_ticket48746_homeDirectory_indexed_cis(topology):
         found = regex.search(line)
         if ((line == '') or (found)):
             break
-        
+
     if (found):
         log.info("The configuration of a specific MR fails")
         log.info(line)
@@ -128,7 +128,7 @@ def test_ticket48746_homeDirectory_mixed_value(topology):
 
 def test_ticket48746_extensible_search_after_index(topology):
     name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-    
+
     # check with the exact stored value
 #     log.info("Default: can retrieve an entry filter syntax with exact stored \
value")  #     ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, \
"(homeDirectory=%s)" % MIXED_VALUE) @@ -166,11 +166,11 @@ def \
test_ticket48746_homeDirectory_indexed_ces(topology):  \
#topology.standalone.start(timeout=10)  args = {TASK_WAIT: True}
     topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', \
                args=args)
-    
+
     log.info("Check indexing succeeded with a specified matching rule")
     file_path = os.path.join(topology.standalone.prefix, \
"var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)  file_obj = \
                open(file_path, "r")
-    
+
     # Check if the MR configuration failure occurs
     regex = re.compile("unknown or invalid matching rule")
     while True:
@@ -178,7 +178,7 @@ def test_ticket48746_homeDirectory_indexed_ces(topology):
         found = regex.search(line)
         if ((line == '') or (found)):
             break
-        
+
     if (found):
         log.info("The configuration of a specific MR fails")
         log.info(line)
@@ -201,13 +201,13 @@ if __name__ == '__main__':
 #     installation1_prefix = None
 #     topo = topology(True)
 #     test_ticket48746_init(topo)
-#     
-# 
+#
+#
 #     test_ticket48746_homeDirectory_indexed_cis(topo)
 #     test_ticket48746_homeDirectory_mixed_value(topo)
 #     test_ticket48746_extensible_search_after_index(topo)
 #     # crash should occur here
 #     test_ticket48746_homeDirectory_indexed_ces(topo)
-    
+
     CURRENT_FILE = os.path.realpath(__file__)
     pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48759_test.py \
b/dirsrvtests/tests/tickets/ticket48759_test.py index 93c3223..63115c1 100644
--- a/dirsrvtests/tests/tickets/ticket48759_test.py
+++ b/dirsrvtests/tests/tickets/ticket48759_test.py
@@ -64,8 +64,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -108,9 +109,9 @@ def _find_memberof(topology, user_dn=None, group_dn=None, \
find_result=True):  if val == group_dn:
                 found = True
                 break
-            
+
     if find_result:
-        assert(found) 
+        assert(found)
     else:
         assert(not found)
 
@@ -119,9 +120,9 @@ def test_ticket48759(topology):
     The fix for ticket 48759 has to prevent plugin calls for tombstone purging
 
     The test uses the memberof and retrocl plugins to verify this.
-    In tombstone purging without the fix the mmeberof plugin is called, 
-        if the tombstone entry is a group, 
-        it  modifies the user entries for the group 
+    In tombstone purging without the fix the mmeberof plugin is called,
+        if the tombstone entry is a group,
+        it  modifies the user entries for the group
         and if retrocl is enabled this mod is written to the retrocl
 
     The test sequence is:
@@ -262,7 +263,6 @@ def test_ticket48759(topology):
 
 
 def test_ticket48759_final(topology):
-    topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket48784_test.py \
b/dirsrvtests/tests/tickets/ticket48784_test.py index 159301a..a970fc6 100644
--- a/dirsrvtests/tests/tickets/ticket48784_test.py
+++ b/dirsrvtests/tests/tickets/ticket48784_test.py
@@ -38,6 +38,7 @@ M2SERVERCERT = 'Server-Cert2'
 M1LDAPSPORT = '41636'
 M2LDAPSPORT = '42636'
 
+
 class TopologyReplication(object):
     def __init__(self, master1, master2):
         master1.open()
@@ -53,7 +54,7 @@ def topology(request):
         args_instance[SER_DEPLOYED_DIR] = installation1_prefix
 
     # Creating master 1...
-    master1 = DirSrv(verbose=True)
+    master1 = DirSrv(verbose=False)
     if installation1_prefix:
         args_instance[SER_DEPLOYED_DIR] = installation1_prefix
     args_instance[SER_HOST] = HOST_MASTER_1
@@ -70,7 +71,7 @@ def topology(request):
     master1.replica.enableReplication(suffix=SUFFIX, role=REPLICAROLE_MASTER, \
replicaId=REPLICAID_MASTER_1)  
     # Creating master 2...
-    master2 = DirSrv(verbose=True)
+    master2 = DirSrv(verbose=False)
     if installation1_prefix:
         args_instance[SER_DEPLOYED_DIR] = installation1_prefix
     args_instance[SER_HOST] = HOST_MASTER_2
@@ -137,20 +138,15 @@ def topology(request):
         assert False
 
     # Delete each instance in the end
-    #def fin():
-       #master1.delete()
-       #master2.delete()
-    #request.addfinalizer(fin)
-
-    # Clear out the tmp dir
-    master1.clearTmpDir(__file__)
+    def fin():
+        master1.delete()
+        master2.delete()
+    request.addfinalizer(fin)
 
     return TopologyReplication(master1, master2)
 
 
 @pytest.fixture(scope="module")
-
-
 def add_entry(server, name, rdntmpl, start, num):
     log.info("\n######################### Adding %d entries to %s \
######################" % (num, name))  
@@ -166,6 +162,7 @@ def add_entry(server, name, rdntmpl, start, num):
             log.error('Failed to add %s ' % dn + e.message['desc'])
             assert False
 
+
 def enable_ssl(server, ldapsport, mycert):
     log.info("\n######################### Enabling SSL LDAPSPORT %s \
######################\n" % ldapsport)  server.simple_bind_s(DN_DM, PASSWORD)
@@ -210,6 +207,7 @@ def doAndPrintIt(cmdline, filename):
     if filename is not None:
         fd.close()
 
+
 def create_keys_certs(topology):
     log.info("\n######################### Creating SSL Keys and Certs \
######################\n")  
@@ -291,7 +289,7 @@ def create_keys_certs(topology):
     topology.master2.stop(timeout=10)
 
     global mytmp
-    mytmp = topology.master1.getDir(__file__, TMP_DIR)
+    mytmp = '/tmp'
     m2pk12file = '%s/%s.pk12' % (mytmp, M2SERVERCERT)
     cmd = 'pk12util -o %s -n "%s" -d %s -w %s -k %s' % (m2pk12file, M2SERVERCERT, \
m1confdir, pwdfile, pwdfile)  log.info("##### Extract PK12 file for master2: %s" % \
cmd) @@ -338,6 +336,7 @@ def create_keys_certs(topology):
 
     log.info("\n######################### Creating SSL Keys and Certs Done \
######################\n")  
+
 def config_tls_agreements(topology):
     log.info("######################### Configure SSL/TLS agreements \
                ######################")
     log.info("######################## master1 <-- startTLS -> master2 \
#####################") @@ -357,6 +356,7 @@ def config_tls_agreements(topology):
 
     log.info("\n######################### Configure SSL/TLS agreements Done \
######################\n")  
+
 def set_ssl_Version(server, name, version):
     log.info("\n######################### Set %s on %s ######################\n", \
(version, name))  server.simple_bind_s(DN_DM, PASSWORD)
@@ -374,6 +374,7 @@ def set_ssl_Version(server, name, version):
         log.info("Invalid version %s", version)
         assert False
 
+
 def test_ticket48784(topology):
     """
     Set up 2way MMR:
@@ -381,7 +382,7 @@ def test_ticket48784(topology):
 
     Make sure the replication is working.
     Then, stop the servers and set only SSLv3 on master_1 while TLS1.2 on master_2
-    Replication is supposed to fail. 
+    Replication is supposed to fail.
     """
     log.info("Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS \
for crypto")  
@@ -392,7 +393,7 @@ def test_ticket48784(topology):
     add_entry(topology.master2, 'master2', 'uid=m2user', 0, 5)
 
     time.sleep(1)
-   
+
     log.info('##### Searching for entries on master1...')
     entries = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, \
'(uid=*)')  assert 10 == len(entries)
diff --git a/dirsrvtests/tests/tickets/ticket48798_test.py \
b/dirsrvtests/tests/tickets/ticket48798_test.py index 7289453..f6f3911 100644
--- a/dirsrvtests/tests/tickets/ticket48798_test.py
+++ b/dirsrvtests/tests/tickets/ticket48798_test.py
@@ -29,7 +29,7 @@ class TopologyStandalone(object):
 @pytest.fixture(scope="module")
 def topology(request):
     # Creating standalone instance ...
-    standalone = DirSrv(verbose=True)
+    standalone = DirSrv(verbose=False)
     args_instance[SER_HOST] = HOST_STANDALONE
     args_instance[SER_PORT] = PORT_STANDALONE
     args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
@@ -44,17 +44,13 @@ def topology(request):
 
     # Delete each instance in the end
     def fin():
-        pass
-        #standalone.delete()
+        standalone.delete()
     request.addfinalizer(fin)
 
-    # Clear out the tmp dir
-    #standalone.clearTmpDir(__file__)
-
     return TopologyStandalone(standalone)
 
 def check_socket_dh_param_size(hostname, port):
-    ### You know why we have to do this? 
+    ### You know why we have to do this?
     # Because TLS and SSL suck. Hard. They are impossible. It's all terrible, burn \
                it all down.
     cmd = "echo quit | openssl s_client -connect {HOSTNAME}:{PORT} -msg -cipher DH | \
grep -A 1 ServerKeyExchange".format(  HOSTNAME=hostname,
diff --git a/dirsrvtests/tests/tickets/ticket48844_test.py \
b/dirsrvtests/tests/tickets/ticket48844_test.py index 5b720e3..308ec17 100644
--- a/dirsrvtests/tests/tickets/ticket48844_test.py
+++ b/dirsrvtests/tests/tickets/ticket48844_test.py
@@ -56,7 +56,7 @@ def topology(request):
     # Delete each instance in the end
     def fin():
         standalone.delete()
-    #request.addfinalizer(fin)
+    request.addfinalizer(fin)
 
     # Clear out the tmp dir
     standalone.clearTmpDir(__file__)
diff --git a/dirsrvtests/tests/tickets/ticket48891_test.py \
b/dirsrvtests/tests/tickets/ticket48891_test.py index bf2d1dd..ad6fd3a 100644
--- a/dirsrvtests/tests/tickets/ticket48891_test.py
+++ b/dirsrvtests/tests/tickets/ticket48891_test.py
@@ -73,8 +73,9 @@ def topology(request):
     # Used to retrieve configuration information (dbdir, confdir...)
     standalone.open()
 
-    # clear the tmp directory
-    standalone.clearTmpDir(__file__)
+    def fin():
+        standalone.delete()
+    request.addfinalizer(fin)
 
     # Here we have standalone instance up and running
     return TopologyStandalone(standalone)
@@ -92,7 +93,7 @@ def test_ticket48891_setup(topology):
     # bind as directory manager
     topology.standalone.log.info("Bind as %s" % DN_DM)
     topology.standalone.simple_bind_s(DN_DM, PASSWORD)
-    
+
     # check there is no core
     entry = topology.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE, \
"(cn=config)",['nsslapd-workingdir'])  assert entry
@@ -139,7 +140,7 @@ def test_ticket48891_setup(topology):
 
 
     topology.standalone.stop(timeout=1)
-    
+
 
     cores = fnmatch.filter(os.listdir(path), 'core.*')
     for core in cores:
@@ -150,7 +151,6 @@ def test_ticket48891_setup(topology):
 
 
 def test_ticket48891_final(topology):
-    #topology.standalone.delete()
     log.info('Testcase PASSED')
 
 
diff --git a/dirsrvtests/tests/tickets/ticket548_test.py \
b/dirsrvtests/tests/tickets/ticket548_test.py index d29fa53..a8562c2 100644
--- a/dirsrvtests/tests/tickets/ticket548_test.py
+++ b/dirsrvtests/tests/tickets/ticket548_test.py
@@ -67,9 +67,6 @@ def topology(request):
         standalone.delete()
     request.addfinalizer(fin)
 
-    # Clear out the tmp dir
-    standalone.clearTmpDir(__file__)
-
     return TopologyStandalone(standalone)
 
 def days_to_secs(days):
@@ -421,4 +418,4 @@ if __name__ == '__main__':
     # Run isolated
     # -s for DEBUG mode
     CURRENT_FILE = os.path.realpath(__file__)
-    pytest.main("-s %s" % CURRENT_FILE)  
+    pytest.main("-s %s" % CURRENT_FILE)

--
389-commits mailing list
389-commits@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/389-commits@lists.fedoraproject.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic