]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
python: make source_tree_topdir() test-only
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 18 Mar 2025 23:04:26 +0000 (12:04 +1300)
committerRalph Boehme <slow@samba.org>
Sat, 29 Mar 2025 07:23:43 +0000 (07:23 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Ralph Boehme <slow@samba.org>
python/samba/__init__.py
python/samba/tests/__init__.py
python/samba/tests/dns_forwarder.py
python/samba/tests/docs.py
python/samba/tests/samba_tool/gpo.py

index 6bdf65d923dc86eac6d7c511409355255063d198..dd3a44ad350bdbc33264f3f2d71b06297facc4aa 100644 (file)
@@ -31,16 +31,6 @@ from samba import _glue
 from samba._ldb import Ldb as _Ldb
 
 
-def source_tree_topdir():
-    """Return the top level source directory."""
-    paths = ["../../..", "../../../.."]
-    for p in paths:
-        topdir = os.path.normpath(os.path.join(os.path.dirname(__file__), p))
-        if os.path.exists(os.path.join(topdir, 'source4')):
-            return topdir
-    raise RuntimeError("unable to find top level source directory")
-
-
 class Ldb(_Ldb):
     """Simple Samba-specific LDB subclass that takes care
     of setting up the modules dir, credentials pointers, etc.
index 6af0940e8e4c5922fbac16851d3111598f2bfe9b..0374dfa65f60261a5ce3dd34fa1bc3cba5e79bef 100644 (file)
@@ -65,6 +65,16 @@ LDB_ERR_LUT = {v: k for k, v in vars(ldb).items() if k.startswith('ERR_')}
 RE_CAMELCASE = re.compile(r"([_\-])+")
 
 
+def source_tree_topdir():
+    """Return the top level source directory."""
+    paths = ["../../..", "../../../.."]
+    for p in paths:
+        topdir = os.path.normpath(os.path.join(os.path.dirname(__file__), p))
+        if os.path.exists(os.path.join(topdir, 'source4')):
+            return topdir
+    raise RuntimeError("unable to find top level source directory")
+
+
 def ldb_err(v):
     if isinstance(v, ldb.LdbError):
         v = v.args[0]
index 86b553e53e412fc9dc012b560b770225e881752b..3af8085a649fdf2593048e0e572054c5724082dc 100644 (file)
@@ -24,7 +24,7 @@ import time
 import errno
 import samba.ndr as ndr
 from samba import credentials
-from samba.tests import TestCase
+from samba.tests import TestCase, source_tree_topdir
 from samba.dcerpc import dns
 from samba.tests.subunitrun import SubunitOptions, TestProgram
 import samba.getopt as options
@@ -170,7 +170,7 @@ class TestDnsForwarding(DNSTest):
     def start_toy_server(self, host, port, id):
         python = sys.executable
         p = subprocess.Popen([python,
-                              os.path.join(samba.source_tree_topdir(),
+                              os.path.join(source_tree_topdir(),
                                            'python/samba/tests/'
                                            'dns_forwarder_helpers/server.py'),
                              host, str(port), id])
index 661892772600db8085a9023c15241cdd55323b7e..e52a97ed629557f2ad436aa39ebfa968ad2df512 100644 (file)
@@ -240,7 +240,7 @@ class SmbDotConfTests(TestCase):
         finally:
             f.close()
 
-        self.topdir = os.path.abspath(samba.source_tree_topdir())
+        self.topdir = os.path.abspath(samba.tests.source_tree_topdir())
 
         try:
             self.documented = set(get_documented_parameters(self.topdir))
index 3f1111f8002f1256003972a1ad7f10580f153228..3e3334be6ca263de3786d9f9387bad91074ee553 100644 (file)
@@ -21,6 +21,7 @@
 import os, pwd, grp
 import ldb
 import samba
+from samba.tests import source_tree_topdir
 from samba.tests.samba_tool.base import SambaToolCmdTest
 import shutil
 from samba.netcmd.gpo import get_gpo_dn, get_gpo_info
@@ -1879,7 +1880,7 @@ class GpoCmdTestCase(SambaToolCmdTest):
         except IndexError:
             self.fail("Failed to find GUID in output: %s" % out)
 
-        self.backup_path = os.path.join(samba.source_tree_topdir(), 'source4',
+        self.backup_path = os.path.join(source_tree_topdir(), 'source4',
                                         'selftest', 'provisions',
                                         'generalized-gpo-backup')