[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Fri Apr 27 08:26:05 MDT 2012


The branch, master has been updated
       via  2f35c24 selftest: Add test to ensure that bug #8872 does not come back
       via  0cb0427 selftest: Place the test environment at the end of the failure lines
       via  67a851a selftest: Remove silly space before unit test name
      from  34ffa61 s3:winbindd: also try SMB2 when connecting to "IPC$"

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


- Log -----------------------------------------------------------------
commit 2f35c246fccd2157ccc06ee13a49c7ae854737fa
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Apr 27 12:52:54 2012 +1000

    selftest: Add test to ensure that bug #8872 does not come back
    
    The raw.composite test checks that we handle mutliple concurrent connections.
    
    Andrew Bartlett
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Fri Apr 27 16:25:37 CEST 2012 on sn-devel-104

commit 0cb0427f134c8fdd79880642abef0ad1f115c3b3
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Apr 27 12:50:36 2012 +1000

    selftest: Place the test environment at the end of the failure lines
    
    This allows a knownfail entry to be added for only one environment, rather than
    all environments.
    
    Andrew Bartlett

commit 67a851a05074d2ffd72d54a482a72859e8377b2f
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Apr 27 12:49:14 2012 +1000

    selftest: Remove silly space before unit test name
    
    When we have no description, there is no need for a leading space here
    
    Andrew Bartlett

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

Summary of changes:
 selftest/filter-subunit     |    9 ++-
 selftest/knownfail          |  192 +++++++++++++++++++++---------------------
 selftest/selftesthelpers.py |   10 +-
 selftest/subunithelper.py   |   13 ++-
 source3/selftest/tests.py   |    9 ++-
 5 files changed, 125 insertions(+), 108 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/filter-subunit b/selftest/filter-subunit
index bced14b..2ed1430 100755
--- a/selftest/filter-subunit
+++ b/selftest/filter-subunit
@@ -40,6 +40,8 @@ parser.add_option("--fail-immediately", action="store_true",
     help="Whether to stop on the first error", default=False)
 parser.add_option("--prefix", type="string",
 	help="Add prefix to all test names")
+parser.add_option("--suffix", type="string",
+	help="Add suffix to all test names")
 parser.add_option("--fail-on-empty", default=False,
 	action="store_true", help="Fail if there was no subunit output")
 parser.add_option("--list", default=False,
@@ -48,10 +50,13 @@ opts, args = parser.parse_args()
 
 if opts.list:
 	prefix = opts.prefix
+	suffix = opts.suffix
 	if not prefix:
 		prefix = ""
+	if not suffix:
+		suffix = ""
 	for l in sys.stdin:
-		sys.stdout.write("%s%s\n" % (prefix, l.rstrip()))
+		sys.stdout.write("%s%s%s\n" % (prefix, l.rstrip(), suffix))
 	sys.exit(0)
 
 if opts.expected_failures:
@@ -79,7 +84,7 @@ def handle_sigint(sig, stack):
 signal.signal(signal.SIGINT, handle_sigint)
 
 out = subunithelper.SubunitOps(sys.stdout)
-msg_ops = subunithelper.FilterOps(out, opts.prefix, expected_failures,
+msg_ops = subunithelper.FilterOps(out, opts.prefix, opts.suffix, expected_failures,
 				  opts.strip_passed_output,
 				  fail_immediately=opts.fail_immediately,
 				  flapping=flapping)
diff --git a/selftest/knownfail b/selftest/knownfail
index 525fb4c..440304f 100644
--- a/selftest/knownfail
+++ b/selftest/knownfail
@@ -22,7 +22,7 @@
 ^samba3.nbt.dgram.*netlogon2
 ^samba3.*rap.sam.*.useradd # Not provided by Samba 3
 ^samba3.*rap.sam.*.userdelete # Not provided by Samba 3
-^samba3.libsmbclient .opendir # This requires a workgroup called 'WORKGROUP' and for netbios browse lists to have been registered
+^samba3.libsmbclient.opendir # This requires a workgroup called 'WORKGROUP' and for netbios browse lists to have been registered
 # see bug 8412
 ^samba3.smb2.rename.*.simple_nodelete
 ^samba3.smb2.rename.*.no_share_delete_no_delete_access
@@ -35,7 +35,7 @@
 ^samba3.blackbox.rpcclient over ncacn_np with \[spnego,smb2,bigendian\]
 ^samba3.blackbox.rpcclient over ncacn_np with \[spnego,connect,smb2\]
 ^samba3.blackbox.rpcclient over ncacn_np with \[spnego,connect,smb2,bigendian\]
-^samba3.raw.composite .appendacl # This needs ACL and IDMAP behaviour that s3 cannot provide, including mapping of arbitary sids.
+^samba3.raw.composite.appendacl\(s3dc\)# This needs ACL and IDMAP behaviour that smbd cannot provide, including mapping of arbitary sids.
 # these show that we still have some differences between our system
 # with our internal iconv because it passes except when we bypass our
 # internal iconv modules
@@ -58,8 +58,8 @@
 ^samba4.rpc.netlogon.*.LogonUasLogoff
 ^samba4.rpc.netlogon.*.DatabaseSync
 ^samba4.rpc.netlogon.*.DatabaseSync2
-^samba4.rpc.netlogon.*.LogonControl$
-^samba4.rpc.netlogon.*.LogonControl2$
+^samba4.rpc.netlogon.*.LogonControl\(.*\)$
+^samba4.rpc.netlogon.*.LogonControl2\(.*\)$
 ^samba4.rpc.netlogon.*.NetrEnumerateTrustedDomains
 ^samba4.rpc.netlogon.*.NetrEnumerateTrustedDomainsEx
 ^samba4.rpc.netlogon.*.GetPassword
@@ -75,26 +75,26 @@
 ^samba4.rap.*netsessiongetinfo
 ^samba4.rap.*netremotetod
 # SMB2 in s4 does not seem to support rename correctly
-^samba4.smb2.rename.simple$
-^samba4.smb2.rename.no_sharing$
-^samba4.smb2.rename.share_delete_and_delete_access$
-^samba4.smb2.rename.no_share_delete_but_delete_access$
-^samba4.smb2.rename.share_delete_no_delete_access$
-^samba4.smb2.rename.no_share_delete_no_delete_access$
+^samba4.smb2.rename.simple\(.*\)$
+^samba4.smb2.rename.no_sharing\(.*\)$
+^samba4.smb2.rename.share_delete_and_delete_access\(.*\)$
+^samba4.smb2.rename.no_share_delete_but_delete_access\(.*\)$
+^samba4.smb2.rename.share_delete_no_delete_access\(.*\)$
+^samba4.smb2.rename.no_share_delete_no_delete_access\(.*\)$
 ^samba4.smb2.rename.msword
 ^samba4.winbind.struct.*.show_sequence     # Not yet working in winbind
-^samba4.*base.delaywrite.*update of write time and SMBwrite truncate$
-^samba4.*base.delaywrite.*update of write time and SMBwrite truncate expand$
-^samba4.*base.delaywrite.*delayed update of write time 3a$
-^samba4.*base.delaywrite.*delayed update of write time 3c$
-^samba4.*base.delaywrite.*update of write time using SET_END_OF_FILE$
-^samba4.*base.delaywrite.*update of write time using SET_ALLOCATION_SIZE$
-^samba4.ldap.python \(dc\).Test add_ldif\(\) with BASE64 security descriptor input using WRONG domain SID$
+^samba4.*base.delaywrite.*update of write time and SMBwrite truncate\(.*\)$
+^samba4.*base.delaywrite.*update of write time and SMBwrite truncate expand\(.*\)$
+^samba4.*base.delaywrite.*delayed update of write time 3a\(.*\)$
+^samba4.*base.delaywrite.*delayed update of write time 3c\(.*\)$
+^samba4.*base.delaywrite.*update of write time using SET_END_OF_FILE\(.*\)$
+^samba4.*base.delaywrite.*update of write time using SET_ALLOCATION_SIZE\(.*\)$
+^samba4.ldap.python \(dc\).Test add_ldif\(\) with BASE64 security descriptor input using WRONG domain SID\(.*\)$
 # some operations don't work over the CIFS NTVFS backend yet (eg. root_fid)
 ^samba4.ntvfs.cifs.*.base.createx_sharemodes_dir
 ^samba4.raw.lock.*.async # bug 6960
 ^samba4.smb2.lock.*.multiple-unlock # bug 6959
-^samba4.raw.sfileinfo.*.end-of-file$ # bug 6962
+^samba4.raw.sfileinfo.*.end-of-file\(.*\)$ # bug 6962
 ^samba4.raw.oplock.*.batch22 # bug 6963
 ^samba4.raw.lock.*.zerobyteread # bug 6974
 ^samba4.smb2.lock.*.zerobyteread # bug 6974
@@ -112,85 +112,85 @@
 #^samba4.ldap.dirsync.python.dc..__main__.ExtendedDirsyncTests.*
 ^samba4.drs.fsmo.python
 ^samba4.libsmbclient.opendir.opendir # This requires netbios browsing
-^samba4.rpc.drsuapi .*.drsuapi.DsGetDomainControllerInfo$
-^samba4.rpc.drsuapi .*.drsuapi.DsCrackNames$
-^samba4.smb2.oplock.exclusive2$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.exclusive5$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.exclusive6$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.brl3$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.levelii500$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.brl1$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch22$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch19$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch12$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch11$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch1$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch6$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch9$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch10$ # samba 4 oplocks are a mess
-^samba4.smb2.oplock.batch20$ # samba 4 oplocks are a mess
+^samba4.rpc.drsuapi.*.drsuapi.DsGetDomainControllerInfo\(.*\)$
+^samba4.rpc.drsuapi.*.drsuapi.DsCrackNames\(.*\)$
+^samba4.smb2.oplock.exclusive2\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.exclusive5\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.exclusive6\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.brl3\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.levelii500\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.brl1\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch22\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch19\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch12\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch11\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch1\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch6\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch9\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch10\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.batch20\(.*\)$ # samba 4 oplocks are a mess
 ^samba4.smb2.getinfo.getinfo # streams on directories does not work
-^samba4.ntvfs.cifs.krb5.base.createx_access.createx_access$
-^samba4.ldap.acl.*.AclSearchTests.test_search_anonymous3$  # ACL search behaviour not enabled by default
-^samba4.ldap.acl.*.AclSearchTests.test_search1$  # ACL search behaviour not enabled by default
-^samba4.ldap.acl.*.AclSearchTests.test_search2$  # ACL search behaviour not enabled by default
-^samba4.ldap.acl.*.AclSearchTests.test_search3$  # ACL search behaviour not enabled by default
-^samba4.ldap.acl.*.AclSearchTests.test_search4$  # ACL search behaviour not enabled by default
-^samba4.ldap.acl.*.AclSearchTests.test_search5$  # ACL search behaviour not enabled by default
-^samba4.ldap.acl.*.AclSearchTests.test_search6$  # ACL search behaviour not enabled by default
+^samba4.ntvfs.cifs.krb5.base.createx_access.createx_access\(.*\)$
+^samba4.ldap.acl.*.AclSearchTests.test_search_anonymous3\(.*\)$  # ACL search behaviour not enabled by default
+^samba4.ldap.acl.*.AclSearchTests.test_search1\(.*\)$  # ACL search behaviour not enabled by default
+^samba4.ldap.acl.*.AclSearchTests.test_search2\(.*\)$  # ACL search behaviour not enabled by default
+^samba4.ldap.acl.*.AclSearchTests.test_search3\(.*\)$  # ACL search behaviour not enabled by default
+^samba4.ldap.acl.*.AclSearchTests.test_search4\(.*\)$  # ACL search behaviour not enabled by default
+^samba4.ldap.acl.*.AclSearchTests.test_search5\(.*\)$  # ACL search behaviour not enabled by default
+^samba4.ldap.acl.*.AclSearchTests.test_search6\(.*\)$  # ACL search behaviour not enabled by default
 ^samba4.rpc.lsa.forest.trust #Not fully provided by Samba4
-^samba3.smb2.create .gentest
-^samba3.smb2.create .blob
-^samba3.smb2.create .open
-^samba3.smb2.create .leading-slash
-^samba3.smb2.create .aclfile
-^samba3.smb2.create .acldir
-^samba3.smb2.create .nulldacl
-^samba3.smb2.notify .valid-req
-^samba3.smb2.notify .dir
-^samba3.smb2.notify .rec
-^samba3.smb2.durable-open .file-position
-^samba3.smb2.durable-open .lease
-^samba3.smb2.durable-open .lock
-^samba3.smb2.durable-open .open
-^samba3.smb2.durable-open .reopen1
-^samba3.smb2.durable-open .reopen2
-^samba3.smb2.durable-open .reopen2a
-^samba3.smb2.durable-open .reopen3
-^samba3.smb2.durable-open .reopen4
-^samba3.smb2.durable-open .oplock
-^samba3.smb2.durable-v2-open .open-oplock
-^samba3.smb2.durable-v2-open .open-lease
-^samba3.smb2.durable-v2-open .persistent-open-oplock
-^samba3.smb2.durable-v2-open .persistent-open-lease
-^samba3.smb2.ioctl .shadow_copy
-^samba3.smb2.ioctl .req_resume_key
-^samba3.smb2.ioctl .copy_chunk_simple
-^samba3.smb2.ioctl .copy_chunk_multi
-^samba3.smb2.ioctl .copy_chunk_tiny
-^samba3.smb2.ioctl .copy_chunk_overwrite
-^samba3.smb2.ioctl .copy_chunk_append
-^samba3.smb2.dir .one
-^samba3.smb2.dir .modify
-^samba3.smb2.lease .request
-^samba3.smb2.lease .upgrade
-^samba3.smb2.lease .break
-^samba3.smb2.lease .oplock
-^samba3.smb2.lease .multibreak
-^samba3.smb2.oplock .batch12
-^samba3.smb2.oplock .batch20
-^samba3.smb2.acls .CREATOR
-^samba3.smb2.acls .GENERIC
-^samba3.smb2.acls .OWNER
-^samba3.smb2.acls .INHERITANCE
-^samba3.smb2.acls .INHERITFLAGS
-^samba3.smb2.acls .DYNAMIC
-^samba3.smb2.streams .rename
-^samba3.smb2.streams .rename2
-^samba3.smb2.streams .attributes
-^samba3.smb2.getinfo .getinfo
-^samba3.smb2.setinfo .setinfo
-^samba3.smb2.session .reconnect
-^samba3.smb2.session .reauth
+^samba3.smb2.create.gentest
+^samba3.smb2.create.blob
+^samba3.smb2.create.open
+^samba3.smb2.create.leading-slash
+^samba3.smb2.create.aclfile
+^samba3.smb2.create.acldir
+^samba3.smb2.create.nulldacl
+^samba3.smb2.notify.valid-req
+^samba3.smb2.notify.dir
+^samba3.smb2.notify.rec
+^samba3.smb2.durable-open.file-position
+^samba3.smb2.durable-open.lease
+^samba3.smb2.durable-open.lock
+^samba3.smb2.durable-open.open
+^samba3.smb2.durable-open.reopen1
+^samba3.smb2.durable-open.reopen2
+^samba3.smb2.durable-open.reopen2a
+^samba3.smb2.durable-open.reopen3
+^samba3.smb2.durable-open.reopen4
+^samba3.smb2.durable-open.oplock
+^samba3.smb2.durable-v2-open.open-oplock
+^samba3.smb2.durable-v2-open.open-lease
+^samba3.smb2.durable-v2-open.persistent-open-oplock
+^samba3.smb2.durable-v2-open.persistent-open-lease
+^samba3.smb2.ioctl.shadow_copy
+^samba3.smb2.ioctl.req_resume_key
+^samba3.smb2.ioctl.copy_chunk_simple
+^samba3.smb2.ioctl.copy_chunk_multi
+^samba3.smb2.ioctl.copy_chunk_tiny
+^samba3.smb2.ioctl.copy_chunk_overwrite
+^samba3.smb2.ioctl.copy_chunk_append
+^samba3.smb2.dir.one
+^samba3.smb2.dir.modify
+^samba3.smb2.lease.request
+^samba3.smb2.lease.upgrade
+^samba3.smb2.lease.break
+^samba3.smb2.lease.oplock
+^samba3.smb2.lease.multibreak
+^samba3.smb2.oplock.batch12
+^samba3.smb2.oplock.batch20
+^samba3.smb2.acls.CREATOR
+^samba3.smb2.acls.GENERIC
+^samba3.smb2.acls.OWNER
+^samba3.smb2.acls.INHERITANCE
+^samba3.smb2.acls.INHERITFLAGS
+^samba3.smb2.acls.DYNAMIC
+^samba3.smb2.streams.rename
+^samba3.smb2.streams.rename2
+^samba3.smb2.streams.attributes
+^samba3.smb2.getinfo.getinfo
+^samba3.smb2.setinfo.setinfo
+^samba3.smb2.session.reconnect
+^samba3.smb2.session.reauth
 ^samba3.rpc.spoolss.printer.*addprinter.driver_info_winreg # knownfail or flapping?
 ^samba3.rpc.spoolss.printer.*addprinterex.driver_info_winreg # knownfail or flapping?
diff --git a/selftest/selftesthelpers.py b/selftest/selftesthelpers.py
index 991574e..7fc0854 100644
--- a/selftest/selftesthelpers.py
+++ b/selftest/selftesthelpers.py
@@ -101,20 +101,20 @@ def plantestsuite(name, env, cmdline, allow_empty_output=False):
         filter_subunit_args.append("--fail-on-empty")
     if "$LISTOPT" in cmdline:
         filter_subunit_args.append("$LISTOPT")
-    print "%s 2>&1 | %s/selftest/filter-subunit %s --prefix=\"%s.\"" % (cmdline,
+    print "%s 2>&1 | %s/selftest/filter-subunit %s --prefix=\"%s.\" --suffix=\"(%s)\"" % (cmdline,
                                                                         srcdir(),
                                                                         " ".join(filter_subunit_args),
-                                                                        name)
+                                                                        name, env)
     if allow_empty_output:
         print >>sys.stderr, "WARNING: allowing empty subunit output from %s" % name
 
 
-def add_prefix(prefix, support_list=False):
+def add_prefix(prefix, env, support_list=False):
     if support_list:
         listopt = "$LISTOPT "
     else:
         listopt = ""
-    return "%s/selftest/filter-subunit %s--fail-on-empty --prefix=\"%s.\"" % (srcdir(), listopt, prefix)
+    return "%s/selftest/filter-subunit %s--fail-on-empty --prefix=\"%s.\" --suffix=\"(%s)\"" % (srcdir(), listopt, prefix, env)
 
 
 def plantestsuite_loadlist(name, env, cmdline):
@@ -128,7 +128,7 @@ def plantestsuite_loadlist(name, env, cmdline):
     if isinstance(cmdline, list):
         cmdline = " ".join(cmdline)
     support_list = ("$LISTOPT" in cmdline)
-    print "%s $LOADLIST 2>&1 | %s" % (cmdline, add_prefix(name, support_list))
+    print "%s $LOADLIST 2>&1 | %s" % (cmdline, add_prefix(name, env, support_list))
 
 
 def plantestsuite_idlist(name, env, cmdline):
diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py
index b498878..057e139 100644
--- a/selftest/subunithelper.py
+++ b/selftest/subunithelper.py
@@ -270,10 +270,14 @@ class FilterOps(testtools.testresult.TestResult):
         self._ops.startTest(test)
 
     def _add_prefix(self, test):
+        prefix = ""
+        suffix = ""
         if self.prefix is not None:
-            return subunit.RemotedTestCase(self.prefix + test.id())
-        else:
-            return test
+            prefix = self.prefix
+        if self.suffix is not None:
+            suffix = self.suffix
+
+        return subunit.RemotedTestCase(prefix + test.id() + suffix)
 
     def addError(self, test, details=None):
         test = self._add_prefix(test)
@@ -378,13 +382,14 @@ class FilterOps(testtools.testresult.TestResult):
 
         self._ops.end_testsuite(name, result, reason)
 
-    def __init__(self, out, prefix=None, expected_failures=None,
+    def __init__(self, out, prefix=None, suffix=None, expected_failures=None,
                  strip_ok_output=False, fail_immediately=False,
                  flapping=None):
         self._ops = out
         self.seen_output = False
         self.output = None
         self.prefix = prefix
+        self.suffix = suffix
         if expected_failures is not None:
             self.expected_failures = expected_failures
         else:
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index 1a11081..c40f878 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -54,7 +54,11 @@ def smb4torture_testsuites(prefix):
 
 def plansmbtorturetestsuite(name, env, options, description=''):
     target = "samba3"
-    modname = "%s.%s %s" % (target, name, description)
+    if description == '':
+        modname = "%s.%s" % (target, name)
+    else:
+        modname = "%s.%s %s" % (target, name, description)
+
     cmdline = "%s $LISTOPT %s --target=%s %s" % (valgrindify(smb4torture), options, target, name)
     if smb4torture_possible:
         plantestsuite_loadlist(modname, env, cmdline)
@@ -276,6 +280,9 @@ for t in tests:
         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
     elif t == "raw.chkpath":
         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
+    elif t == "raw.composite":
+        plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
+        plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
     else:
         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list