[SCM] Samba Shared Repository - branch master updated

Kamen Mazdrashki kamenim at samba.org
Mon Nov 22 07:25:02 MST 2010


The branch, master has been updated
       via  b85dfce s4-test/repl_schema: Remote global ldb connections
       via  9c2bd08 s4-tests: Wrap connect_samdb() into a connect_samdb_ex() helper
       via  bc6ba4b s4-samba.tests: Explicitly pass LoadParm() instance to system_session() function
       via  6965d1e s4-pfm_verify: fix usage string
      from  f01360e s3-net: use dns_errstr() when dns commands fail.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit b85dfce74511dac7e623076ef13bf6d3e9f71a20
Author: Kamen Mazdrashki <kamenim at samba.org>
Date:   Mon Nov 22 15:06:36 2010 +0200

    s4-test/repl_schema: Remote global ldb connections
    
    Although unlikely, Jelmer pointed out that using persistent
    SamDB connections between test may interfere with tests
    behaviour (and is not xUnit compliant anyway)
    
    Autobuild-User: Kamen Mazdrashki <kamenim at samba.org>
    Autobuild-Date: Mon Nov 22 15:24:03 CET 2010 on sn-devel-104

commit 9c2bd08498fe6f2caebd42d8a165d282913825bb
Author: Kamen Mazdrashki <kamenim at samba.org>
Date:   Mon Nov 22 15:03:59 2010 +0200

    s4-tests: Wrap connect_samdb() into a connect_samdb_ex() helper
    
    Thus caller will be able to connect to SamDB and fetch
    RootDSE info in a single step

commit bc6ba4b04cf063fa01199c2a605b48fa9ecd2055
Author: Kamen Mazdrashki <kamenim at samba.org>
Date:   Mon Nov 22 00:28:45 2010 +0200

    s4-samba.tests: Explicitly pass LoadParm() instance to system_session() function
    
    Otherwise system_session() creates a LoadParm() instance
    wich resets certain params to their defaults from smb.conf
    ("log level" for instance)

commit 6965d1eba55913e17910cd0a49217be20046724d
Author: Kamen Mazdrashki <kamenim at samba.org>
Date:   Sun Nov 21 22:38:14 2010 +0200

    s4-pfm_verify: fix usage string
    
    Thanks Tridge!

-----------------------------------------------------------------------

Summary of changes:
 source4/scripting/devel/pfm_verify.py            |    2 +-
 source4/scripting/python/samba/tests/__init__.py |   20 +++++++++++++-
 source4/torture/drs/python/repl_schema.py        |   32 +++++-----------------
 3 files changed, 27 insertions(+), 27 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/devel/pfm_verify.py b/source4/scripting/devel/pfm_verify.py
index dbd3d88..2f7be2b 100755
--- a/source4/scripting/devel/pfm_verify.py
+++ b/source4/scripting/devel/pfm_verify.py
@@ -110,7 +110,7 @@ def _pfm_verify(drs_pfm, ldb_pfm):
 ########### main code ###########
 if __name__ == "__main__":
     # command line parsing
-    parser = OptionParser("getncchanges [options] server")
+    parser = OptionParser("pfm_verify.py [options] server")
     sambaopts = options.SambaOptions(parser)
     parser.add_option_group(sambaopts)
     credopts = options.CredentialsOptionsDouble(parser)
diff --git a/source4/scripting/python/samba/tests/__init__.py b/source4/scripting/python/samba/tests/__init__.py
index 7a5c2aa..0519fd8 100644
--- a/source4/scripting/python/samba/tests/__init__.py
+++ b/source4/scripting/python/samba/tests/__init__.py
@@ -146,7 +146,7 @@ def connect_samdb(samdb_url, lp=None, session_info=None,
     if not lp:
         lp=env_loadparm()
     if not session_info:
-        session_info=samba.auth.system_session()
+        session_info=samba.auth.system_session(lp)
     if not credentials:
         credentials=cmdline_credentials
 
@@ -157,3 +157,21 @@ def connect_samdb(samdb_url, lp=None, session_info=None,
                  credentials=credentials,
                  flags=flags,
                  options=ldb_options)
+
+def connect_samdb_ex(samdb_url, lp=None, session_info=None,
+                     credentials=None, flags=0, ldb_options=None, ldap_only=False):
+    """Connects to samdb_url database
+
+    :param samdb_url: Url for database to connect to.
+    :param lp: Optional loadparm object
+    :param session_info: Optional session information
+    :param credentials: Optional credentials, defaults to anonymous.
+    :param flags: Optional LDB flags
+    :param ldap_only: If set, only remote LDAP connection will be created.
+    :return: (sam_db_connection, rootDse_record) tuple
+    """
+    sam_db = connect_samdb(samdb_url, lp, session_info, credentials, 
+                           flags, ldb_options, ldap_only)
+    # fetch RootDse
+    res = sam_db.search(base="", expression="", scope=ldb.SCOPE_BASE, attrs=["*"])
+    return (sam_db, res[0])
diff --git a/source4/torture/drs/python/repl_schema.py b/source4/torture/drs/python/repl_schema.py
index 78759e1..4016ed2 100644
--- a/source4/torture/drs/python/repl_schema.py
+++ b/source4/torture/drs/python/repl_schema.py
@@ -44,21 +44,19 @@ import samba.tests
 
 class DrsReplSchemaTestCase(samba.tests.TestCase):
 
-    # RootDSE msg for DC1
-    info_dc1 = None
-    ldb_dc1 = None
-    # RootDSE msg for DC1
-    info_dc2 = None
-    ldb_dc2 = None
     # prefix for all objects created
     obj_prefix = None
 
     def setUp(self):
         super(DrsReplSchemaTestCase, self).setUp()
 
-        # connect to DCs singleton
-        self._dc_connect("dc1", "DC1", ldap_only=True)
-        self._dc_connect("dc2", "DC2", ldap_only=True)
+        # connect to DCs
+        url_dc = samba.tests.env_get_var_value("DC1")
+        (self.ldb_dc1, self.info_dc1) = samba.tests.connect_samdb_ex(url_dc, 
+                                                                     ldap_only=True)
+        url_dc = samba.tests.env_get_var_value("DC2")
+        (self.ldb_dc2, self.info_dc2) = samba.tests.connect_samdb_ex(url_dc, 
+                                                                     ldap_only=True)
 
         # initialize objects prefix if not done yet
         if self.obj_prefix is None:
@@ -78,22 +76,6 @@ class DrsReplSchemaTestCase(samba.tests.TestCase):
     def tearDown(self):
         super(DrsReplSchemaTestCase, self).tearDown()
 
-    @classmethod
-    def _dc_connect(cls, attr_name, env_var, ldap_only=True):
-        ldb_dc = None
-        attr_name_ldb = "ldb_" + attr_name
-        if hasattr(cls, attr_name_ldb):
-            ldb_dc = getattr(cls, attr_name_ldb)
-        if ldb_dc is None:
-            url_dc = samba.tests.env_get_var_value(env_var)
-            ldb_dc = samba.tests.connect_samdb(url_dc, ldap_only=ldap_only)
-            res = ldb_dc.search(base="", expression="", scope=SCOPE_BASE, attrs=["*"])
-            info_dc = res[0]
-            setattr(cls, "ldb_" + attr_name, ldb_dc)
-            setattr(cls, "url_" + attr_name, url_dc)
-            setattr(cls, "info_" + attr_name, info_dc)
-        return ldb_dc
-
     def _net_drs_replicate(self, DC, fromDC, nc_dn):
         """Triggers replication cycle on 'DC' to
            replicate from 'fromDC'. Naming context to


-- 
Samba Shared Repository


More information about the samba-cvs mailing list