selftest: Add --tmpdir to 'samba-tool gpo create' test
authorAndrew Bartlett <abartlet@samba.org>
Tue, 13 Nov 2012 02:31:53 +0000 (13:31 +1100)
committerStefan Metzmacher <metze@samba.org>
Tue, 13 Nov 2012 09:50:56 +0000 (10:50 +0100)
This was the cause of the flakey test, and was only noticed when
multiple different users ran autobuild at the same time on the same
server.

We use shutil.rmtree to wipe the directory before the tests finishes
as required by the TestCaseInTempDir class.

Andrew Bartlett

Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Nov 13 10:50:56 CET 2012 on sn-devel-104

source4/scripting/python/samba/tests/samba_tool/base.py
source4/scripting/python/samba/tests/samba_tool/gpo.py

index 26ce4590feffce7e02d8d165d89d1c53411ce281..60ccaa543d7e1132c12253898f26c1dedaa3d9ff 100644 (file)
@@ -29,7 +29,7 @@ from cStringIO import StringIO
 from samba.netcmd.main import cmd_sambatool
 import samba.tests
 
-class SambaToolCmdTest(samba.tests.TestCase):
+class SambaToolCmdTest(samba.tests.TestCaseInTempDir):
 
     def getSamDB(self, *argv):
         """a convenience function to get a samdb instance so that we can query it"""
index c2e069d2b6197cbe60b7dcc160bf69770d5e6eba..7ada91f80bf676fd169b97573e52ff3a406e8973 100644 (file)
@@ -20,6 +20,7 @@
 
 import os
 from samba.tests.samba_tool.base import SambaToolCmdTest
+import shutil
 
 class GpoCmdTestCase(SambaToolCmdTest):
     """Tests for samba-tool time subcommands"""
@@ -39,13 +40,18 @@ os.environ["SERVER"])
 
     def test_fetch(self):
         """Run against a real GPO, and make sure it passes"""
-        (result, out, err) = self.runsubcmd("gpo", "fetch", self.gpo_guid, "-H", "ldap://%s" % os.environ["SERVER"], "--tmpdir", os.environ['SELFTEST_PREFIX'])
+        (result, out, err) = self.runsubcmd("gpo", "fetch", self.gpo_guid, "-H", "ldap://%s" % os.environ["SERVER"], "--tmpdir", self.tempdir)
         self.assertCmdSuccess(result, "Ensuring gpo fetched successfully")
+        shutil.rmtree(os.path.join(self.tempdir, "policy"))
 
     def setUp(self):
         """set up a temporary GPO to work with"""
         super(GpoCmdTestCase, self).setUp()
-        (result, out, err) = self.runsubcmd("gpo", "create", self.gpo_name, "-H", "ldap://%s" % os.environ["SERVER"], "-U%s%%%s" % (os.environ["USERNAME"], os.environ["PASSWORD"]))
+        (result, out, err) = self.runsubcmd("gpo", "create", self.gpo_name,
+                                            "-H", "ldap://%s" % os.environ["SERVER"],
+                                            "-U%s%%%s" % (os.environ["USERNAME"], os.environ["PASSWORD"]),
+                                            "--tmpdir", self.tempdir)
+        shutil.rmtree(os.path.join(self.tempdir, "policy"))
         self.assertCmdSuccess(result, "Ensuring gpo created successfully")
         try:
             self.gpo_guid = "{%s}" % out.split("{")[1].split("}")[0]