svn commit: samba r20474 - in branches/SAMBA_4_0/source/torture/raw: .

vlendec at samba.org vlendec at samba.org
Tue Jan 2 13:48:42 GMT 2007


Author: vlendec
Date: 2007-01-02 13:48:42 +0000 (Tue, 02 Jan 2007)
New Revision: 20474

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20474

Log:
Skip the delete-on-close test on a non-empty directory in raw-unlink for
Samba3. This is a known deficiency also taken care of in the base-delete
test.

Volker


Modified:
   branches/SAMBA_4_0/source/torture/raw/unlink.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/raw/unlink.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/unlink.c	2007-01-02 13:18:09 UTC (rev 20473)
+++ branches/SAMBA_4_0/source/torture/raw/unlink.c	2007-01-02 13:48:42 UTC (rev 20474)
@@ -252,35 +252,42 @@
 	CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
 
 
-	printf("Testing with non-empty directory delete_on_close\n");
-	status = create_directory_handle(cli->tree, dname, &fnum);
-	CHECK_STATUS(status, NT_STATUS_OK);
-	
-	fnum2 = create_complex_file(cli, mem_ctx, inside);
+	if (!lp_parm_bool(-1, "torture", "samba3", False)) {
 
-	sfinfo.disposition_info.in.file.fnum = fnum;
-	sfinfo.disposition_info.in.delete_on_close = 1;
-	status = smb_raw_setfileinfo(cli->tree, &sfinfo);
-	CHECK_STATUS(status, NT_STATUS_DIRECTORY_NOT_EMPTY);
+		/*
+		 * Known deficiency, also skipped in base-delete.
+		 */
 
-	sfinfo.disposition_info.in.file.fnum = fnum2;
-	status = smb_raw_setfileinfo(cli->tree, &sfinfo);
-	CHECK_STATUS(status, NT_STATUS_OK);
+		printf("Testing with non-empty directory delete_on_close\n");
+		status = create_directory_handle(cli->tree, dname, &fnum);
+		CHECK_STATUS(status, NT_STATUS_OK);
 
-	sfinfo.disposition_info.in.file.fnum = fnum;
-	status = smb_raw_setfileinfo(cli->tree, &sfinfo);
-	CHECK_STATUS(status, NT_STATUS_DIRECTORY_NOT_EMPTY);
+		fnum2 = create_complex_file(cli, mem_ctx, inside);
 
-	smbcli_close(cli->tree, fnum2);
+		sfinfo.disposition_info.in.file.fnum = fnum;
+		sfinfo.disposition_info.in.delete_on_close = 1;
+		status = smb_raw_setfileinfo(cli->tree, &sfinfo);
+		CHECK_STATUS(status, NT_STATUS_DIRECTORY_NOT_EMPTY);
 
-	status = smb_raw_setfileinfo(cli->tree, &sfinfo);
-	CHECK_STATUS(status, NT_STATUS_OK);
+		sfinfo.disposition_info.in.file.fnum = fnum2;
+		status = smb_raw_setfileinfo(cli->tree, &sfinfo);
+		CHECK_STATUS(status, NT_STATUS_OK);
 
-	smbcli_close(cli->tree, fnum);
+		sfinfo.disposition_info.in.file.fnum = fnum;
+		status = smb_raw_setfileinfo(cli->tree, &sfinfo);
+		CHECK_STATUS(status, NT_STATUS_DIRECTORY_NOT_EMPTY);
 
-	status = smb_raw_rmdir(cli->tree, &dio);
-	CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+		smbcli_close(cli->tree, fnum2);
 
+		status = smb_raw_setfileinfo(cli->tree, &sfinfo);
+		CHECK_STATUS(status, NT_STATUS_OK);
+
+		smbcli_close(cli->tree, fnum);
+
+		status = smb_raw_rmdir(cli->tree, &dio);
+		CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+	}
+
 	printf("Testing open dir with delete_on_close\n");
 	status = create_directory_handle(cli->tree, dname, &fnum);
 	CHECK_STATUS(status, NT_STATUS_OK);



More information about the samba-cvs mailing list