The branch, master has been updated
       via  335171e s4:torture: use torture_assert instead of torture_comment 
and return in defer_open test
       via  2afacf9 build: fix configure to honour --without-dmapi
      from  4f58041 tdbtorture: print details when run with -n 1

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


- Log -----------------------------------------------------------------
commit 335171ef075fd6b66bda807841a6e275e65dabea
Author: Michael Adam <ob...@samba.org>
Date:   Mon Aug 18 15:10:15 2014 +0200

    s4:torture: use torture_assert instead of torture_comment and return in 
defer_open test
    
    The fix missed one instance, as autobuild has just told me...
    
    Signed-off-by: Michael Adam <ob...@samba.org>
    Reviewed-by: Stefan Metzmacher <me...@samba.org>
    
    Autobuild-User(master): Michael Adam <ob...@samba.org>
    Autobuild-Date(master): Mon Aug 18 17:42:00 CEST 2014 on sn-devel-104

commit 2afacf940f21759c08bcc4a6e906428595966a19
Author: Michael Adam <ob...@samba.org>
Date:   Mon Aug 18 11:42:27 2014 +0200

    build: fix configure to honour --without-dmapi
    
    Previously, --without-dmapi would still autodetect and link a useable dmapi
    library. This change allows to build without dmapi support even when a dmapi
    library is found.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=10369
    
    Pair-Programmed-With: Stefan Metzmacher <me...@samba.org>
    Signed-off-by: Michael Adam <ob...@samba.org>
    Signed-off-by: Stefan Metzmacher <me...@samba.org>

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

Summary of changes:
 source3/wscript              |   72 +++++++++++++++++++++++++----------------
 source4/torture/basic/base.c |   16 ++++++---
 2 files changed, 55 insertions(+), 33 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/wscript b/source3/wscript
index 18c3c7d..bcf14f8 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -206,27 +206,32 @@ main() {
             conf.fatal('libarchive support requested, but no suitable 
pkgconfig found')
 
     # check for DMAPI libs
-    Logs.info("Checking for DMAPI library existence")
-    conf.env['dmapi_lib'] = ''
-    samba_dmapi_lib = ''
-    if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dm'):
-        samba_dmapi_lib = 'dm'
+    if Options.options.with_dmapi == False:
+        have_dmapi = False
     else:
-        if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'jfsdm'):
-            samba_dmapi_lib = 'jfsdm'
+        have_dmapi = True
+        Logs.info("Checking for DMAPI library existence")
+        samba_dmapi_lib = ''
+        if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dm'):
+            samba_dmapi_lib = 'dm'
         else:
-            if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dmapi'):
-                samba_dmapi_lib = 'dmapi'
+            if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'jfsdm'):
+                samba_dmapi_lib = 'jfsdm'
             else:
-                if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'xdsm'):
-                    samba_dmapi_lib = 'xdsm'
-    # only bother to test headers and compilation when a candidate
-    # library has been found
-    if Options.options.with_dmapi == True and samba_dmapi_lib == '':
-        conf.fatal('DMAPI support requested, but no suitable DMAPI library 
found')
-    else:
-        conf.CHECK_HEADERS('sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h 
dmapi.h')
-        conf.CHECK_CODE('''
+                if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dmapi'):
+                    samba_dmapi_lib = 'dmapi'
+                else:
+                    if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'xdsm'):
+                        samba_dmapi_lib = 'xdsm'
+        # only bother to test headers and compilation when a candidate
+        # library has been found
+        if samba_dmapi_lib == '':
+            have_dmapi = False
+            broken_dmapi = "no suitable DMAPI library found"
+
+        if have_dmapi:
+            conf.CHECK_HEADERS('sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h 
sys/dmapi.h dmapi.h')
+            conf.CHECK_CODE('''
 #include <time.h>      /* needed by Tru64 */
 #include <sys/types.h> /* needed by AIX */
 #ifdef HAVE_XFS_DMAPI_H
@@ -256,17 +261,28 @@ int main(int argc, char **argv)
        return 0;
 }
 ''',
-        'USE_DMAPI',
-        addmain=False,
-        execute=False,
-        lib=samba_dmapi_lib,
-        msg='Checking whether DMAPI lib '+samba_dmapi_lib+' can be used')
-
-        if conf.CONFIG_SET('USE_DMAPI'):
-            conf.env['dmapi_lib'] = samba_dmapi_lib
+            'USEABLE_DMAPI_LIBRARY',
+            addmain=False,
+            execute=False,
+            lib=samba_dmapi_lib,
+            msg='Checking whether DMAPI lib '+samba_dmapi_lib+' can be used')
+            if not conf.CONFIG_SET('USEABLE_DMAPI_LIBRARY'):
+                have_dmapi = False
+                broken_dmapi = "no usable DMAPI library found"
+
+    if have_dmapi:
+        Logs.info("Building with DMAPI support.")
+        conf.env['dmapi_lib'] = samba_dmapi_lib
+        conf.DEFINE('USE_DMAPI', 1)
+    else:
+        if Options.options.with_dmapi == False:
+            Logs.info("Building without DMAPI support (--without-dmapi).")
+        elif Options.options.with_dmapi == True:
+            Logs.error("DMAPI support not available: " + broken_dmapi)
+            conf.fatal('DMAPI support requested but not found.');
         else:
-            if Options.options.with_dmapi == True:
-                conf.fatal('DMAPI support requested but not found');
+            Logs.warn("Building without DMAPI support: " + broken_dmapi)
+        conf.env['dmapi_lib'] = ''
 
     # Check for various members of the stat structure
     conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_blocks', 
define='HAVE_STAT_ST_BLOCKS',
diff --git a/source4/torture/basic/base.c b/source4/torture/basic/base.c
index 1d04b35..3789081 100644
--- a/source4/torture/basic/base.c
+++ b/source4/torture/basic/base.c
@@ -654,6 +654,7 @@ static bool run_deferopen(struct torture_context *tctx, 
struct smbcli_state *cli
        int nsec;
        int msec;
        double sec;
+       NTSTATUS status;
 
        nsec = torture_setting_int(tctx, "sharedelay", 1000000);
        msec = nsec / 1000;
@@ -696,10 +697,15 @@ static bool run_deferopen(struct torture_context *tctx, 
struct smbcli_state *cli
 
                smb_msleep(10 * msec);
                i++;
-               if (NT_STATUS_IS_ERR(smbcli_close(cli->tree, fnum))) {
-                       torture_comment(tctx,"Failed to close %s, error=%s\n", 
fname, smbcli_errstr(cli->tree));
-                       return false;
-               }
+
+               status = smbcli_close(cli->tree, fnum);
+               torture_assert(tctx, !NT_STATUS_IS_ERR(status),
+                              talloc_asprintf(tctx,
+                                              "pid %u: Failed to close %s, "
+                                              "error=%s\n",
+                                              (unsigned)getpid(), fname,
+                                              smbcli_errstr(cli->tree)));
+
                smb_msleep(2 * msec);
        }
 
@@ -707,7 +713,7 @@ static bool run_deferopen(struct torture_context *tctx, 
struct smbcli_state *cli
                /* All until the last unlink will fail with sharing violation
                   but also the last request can fail since the file could have
                   been successfully deleted by another (test) process */
-               NTSTATUS status = smbcli_nt_error(cli->tree);
+               status = smbcli_nt_error(cli->tree);
                if ((!NT_STATUS_EQUAL(status, NT_STATUS_SHARING_VIOLATION))
                        && (!NT_STATUS_EQUAL(status, 
NT_STATUS_OBJECT_NAME_NOT_FOUND))) {
                        torture_result(tctx, TORTURE_FAIL, "unlink of %s failed 
(%s)\n", fname, smbcli_errstr(cli->tree));


-- 
Samba Shared Repository

Reply via email to