r20309: Don't treat non-supported EAs as fatal against Samba3.
authorVolker Lendecke <vlendec@samba.org>
Thu, 21 Dec 2006 21:15:59 +0000 (21:15 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:29:37 +0000 (14:29 -0500)
Volker
(This used to be commit 52d9c7ed0acbc286151117bb876559e13981fd44)

source4/torture/raw/mkdir.c

index 5223f9db3af466633455285ed3e2b3959c9b2602..be21ff8ea3d22af017ba54e2c713e1d03eec47d6 100644 (file)
@@ -123,17 +123,27 @@ static BOOL test_mkdir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
        md.t2mkdir.in.eas[2].name.s = "EATHREE";
        md.t2mkdir.in.eas[2].value = data_blob_talloc(mem_ctx, "xx1", 3);
        status = smb_raw_mkdir(cli->tree, &md);
-       CHECK_STATUS(status, NT_STATUS_OK);
-
-       status = torture_check_ea(cli, path, "EAONE", "blah");
-       CHECK_STATUS(status, NT_STATUS_OK);
-       status = torture_check_ea(cli, path, "EA TWO", "foo bar");
-       CHECK_STATUS(status, NT_STATUS_OK);
-       status = torture_check_ea(cli, path, "EATHREE", "xx1");
-       CHECK_STATUS(status, NT_STATUS_OK);
 
-       status = smb_raw_rmdir(cli->tree, &rd);
-       CHECK_STATUS(status, NT_STATUS_OK);
+       if (lp_parm_bool(-1, "torture", "samba3", False)
+           && NT_STATUS_EQUAL(status, NT_STATUS_EAS_NOT_SUPPORTED)) {
+               d_printf("EAS not supported -- not treating as fatal\n");
+       }
+       else {
+               /*
+                * In Samba3, don't see this error as fatal
+                */
+               CHECK_STATUS(status, NT_STATUS_OK);
+
+               status = torture_check_ea(cli, path, "EAONE", "blah");
+               CHECK_STATUS(status, NT_STATUS_OK);
+               status = torture_check_ea(cli, path, "EA TWO", "foo bar");
+               CHECK_STATUS(status, NT_STATUS_OK);
+               status = torture_check_ea(cli, path, "EATHREE", "xx1");
+               CHECK_STATUS(status, NT_STATUS_OK);
+
+               status = smb_raw_rmdir(cli->tree, &rd);
+               CHECK_STATUS(status, NT_STATUS_OK);
+       }
 
 done:
        smb_raw_exit(cli->session);