summaryrefslogtreecommitdiff
path: root/source4/torture/raw/mkdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture/raw/mkdir.c')
-rw-r--r--source4/torture/raw/mkdir.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/source4/torture/raw/mkdir.c b/source4/torture/raw/mkdir.c
index 5223f9db3a..be21ff8ea3 100644
--- a/source4/torture/raw/mkdir.c
+++ b/source4/torture/raw/mkdir.c
@@ -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);