svn commit: samba r24882 - in branches/SAMBA_4_0: . source source/selftest/output source/torture source/torture/basic source/torture/raw testdata/samba3

jelmer at samba.org jelmer at samba.org
Sun Sep 2 02:07:59 GMT 2007


Author: jelmer
Date: 2007-09-02 02:07:55 +0000 (Sun, 02 Sep 2007)
New Revision: 24882

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

Log:
Use the torture API in BASE-CHARSET.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/samba4-knownfail
   branches/SAMBA_4_0/source/samba4-skip
   branches/SAMBA_4_0/source/selftest/output/html.pm
   branches/SAMBA_4_0/source/torture/basic/base.c
   branches/SAMBA_4_0/source/torture/basic/charset.c
   branches/SAMBA_4_0/source/torture/raw/raw.c
   branches/SAMBA_4_0/source/torture/util_smb.c
   branches/SAMBA_4_0/testdata/samba3/smb.conf


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/samba4-knownfail
===================================================================
--- branches/SAMBA_4_0/source/samba4-knownfail	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/samba4-knownfail	2007-09-02 02:07:55 UTC (rev 24882)
@@ -32,3 +32,4 @@
 RPC-DRSUAPI.*/DsGetDomainControllerInfo
 RPC-DRSUAPI.*/QuerySitesByCost
 RPC-DRSUAPI.*/DsGetNCChange
+BASE-CHARSET.*/Testing partial surrogate

Modified: branches/SAMBA_4_0/source/samba4-skip
===================================================================
--- branches/SAMBA_4_0/source/samba4-skip	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/samba4-skip	2007-09-02 02:07:55 UTC (rev 24882)
@@ -1,4 +1,3 @@
-BASE-CHARSET
 BASE-DEFER_OPEN
 BASE-DELAYWRITE
 RAW-COMPOSITE

Modified: branches/SAMBA_4_0/source/selftest/output/html.pm
===================================================================
--- branches/SAMBA_4_0/source/selftest/output/html.pm	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/selftest/output/html.pm	2007-09-02 02:07:55 UTC (rev 24882)
@@ -309,10 +309,7 @@
 {
 	my ($self, $name, $envname) = @_;
 
-	print INDEX "<tr>\n";
-	print INDEX "  <td class=\"testSuite\">$name</td>\n";
-	print INDEX "  <td class=\"resultSkipped\" colspan=\"2\">SKIPPED - environment `$envname` not available!</td>\n";
-	print INDEX "</tr>\n";
+	$self->skip_testsuite($envname, $name, "environment `$envname` not available!");
 }
 
 sub skip_testsuite($$$$)

Modified: branches/SAMBA_4_0/source/torture/basic/base.c
===================================================================
--- branches/SAMBA_4_0/source/torture/basic/base.c	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/torture/basic/base.c	2007-09-02 02:07:55 UTC (rev 24882)
@@ -1741,7 +1741,7 @@
 	torture_suite_add_1smb_test(suite, "PROPERTIES", torture_test_properties);
 	torture_suite_add_1smb_test(suite, "MANGLE", torture_mangle);
 	torture_suite_add_1smb_test(suite, "OPENATTR", torture_openattrtest);
-	torture_suite_add_1smb_test(suite, "CHARSET", torture_charset);
+	torture_suite_add_suite(suite, torture_charset(suite));
 	torture_suite_add_1smb_test(suite, "CHKPATH",  torture_chkpath_test);
 	torture_suite_add_1smb_test(suite, "SECLEAK",  torture_sec_leak);
 	torture_suite_add_simple_test(suite, "DISCONNECT",  torture_disconnect);

Modified: branches/SAMBA_4_0/source/torture/basic/charset.c
===================================================================
--- branches/SAMBA_4_0/source/torture/basic/charset.c	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/torture/basic/charset.c	2007-09-02 02:07:55 UTC (rev 24882)
@@ -33,7 +33,7 @@
    the prefix BASEDIR is added before the name
 */
 static NTSTATUS unicode_open(struct torture_context *tctx,
-							 struct smbcli_tree *tree,
+			     struct smbcli_tree *tree,
 			     TALLOC_CTX *mem_ctx,
 			     uint32_t open_disposition, 
 			     const uint32_t *u_name, 
@@ -82,7 +82,7 @@
 	io.ntcreatex.in.fname = fname2;
 	io.ntcreatex.in.open_disposition = open_disposition;
 
-	status = smb_raw_open(tree, mem_ctx, &io);
+	status = smb_raw_open(tree, tctx, &io);
 
 	talloc_free(ucs_name);
 
@@ -93,172 +93,118 @@
 /*
   see if the server recognises composed characters
 */
-static BOOL test_composed(struct torture_context *tctx, 
-						  struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
+static bool test_composed(struct torture_context *tctx, 
+			  struct smbcli_state *cli)
 {
 	const uint32_t name1[] = {0x61, 0x308};
 	const uint32_t name2[] = {0xe4};
 	NTSTATUS status1, status2;
 
-	printf("Testing composite character (a umlaut)\n");
-	
-	status1 = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name1, 2);
-	if (!NT_STATUS_IS_OK(status1)) {
-		printf("Failed to create composed name - %s\n",
-		       nt_errstr(status1));
-		return False;
-	}
+	torture_assert(tctx, torture_setup_dir(cli, BASEDIR), 
+		       "setting up basedir");
 
-	status2 = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name2, 1);
+	status1 = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name1, 2);
+	torture_assert_ntstatus_ok(tctx, status1, "Failed to create composed name");
 
-	if (!NT_STATUS_IS_OK(status2)) {
-		printf("Failed to create accented character - %s\n",
-		       nt_errstr(status2));
-		return False;
-	}
+	status2 = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name2, 1);
 
-	return True;
+	torture_assert_ntstatus_ok(tctx, status2, "Failed to create accented character");
+
+	return true;
 }
 
 /*
   see if the server recognises a naked diacritical
 */
-static BOOL test_diacritical(struct torture_context *tctx, 
-							 struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
+static bool test_diacritical(struct torture_context *tctx, 
+			     struct smbcli_state *cli)
 {
 	const uint32_t name1[] = {0x308};
 	const uint32_t name2[] = {0x308, 0x308};
 	NTSTATUS status1, status2;
 
-	printf("Testing naked diacritical (umlaut)\n");
-	
-	status1 = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name1, 1);
+	torture_assert(tctx, torture_setup_dir(cli, BASEDIR), 
+		       "setting up basedir");
 
-	if (!NT_STATUS_IS_OK(status1)) {
-		printf("Failed to create naked diacritical - %s\n",
-		       nt_errstr(status1));
-		return False;
-	}
+	status1 = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name1, 1);
 
+	torture_assert_ntstatus_ok(tctx, status1, "Failed to create naked diacritical");
+
 	/* try a double diacritical */
-	status2 = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name2, 2);
+	status2 = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name2, 2);
 
-	if (!NT_STATUS_IS_OK(status2)) {
-		printf("Failed to create double naked diacritical - %s\n",
-		       nt_errstr(status2));
-		return False;
-	}
+	torture_assert_ntstatus_ok(tctx, status2, "Failed to create double naked diacritical");
 
-	return True;
+	return true;
 }
 
 /*
   see if the server recognises a partial surrogate pair
 */
-static BOOL test_surrogate(struct torture_context *tctx, 
-						   struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
+static bool test_surrogate(struct torture_context *tctx, 
+			   struct smbcli_state *cli)
 {
 	const uint32_t name1[] = {0xd800};
 	const uint32_t name2[] = {0xdc00};
 	const uint32_t name3[] = {0xd800, 0xdc00};
 	NTSTATUS status;
 
-	printf("Testing partial surrogate\n");
+	torture_assert(tctx, torture_setup_dir(cli, BASEDIR), 
+		       "setting up basedir");
 
-	status = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name1, 1);
+	status = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name1, 1);
 
-	if (!NT_STATUS_IS_OK(status)) {
-		printf("Failed to create partial surrogate 1 - %s\n",
-		       nt_errstr(status));
-		return False;
-	}
+	torture_assert_ntstatus_ok(tctx, status, "Failed to create partial surrogate 1");
 
-	status = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name2, 1);
+	status = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name2, 1);
 
-	if (!NT_STATUS_IS_OK(status)) {
-		printf("Failed to create partial surrogate 2 - %s\n",
-		       nt_errstr(status));
-		return False;
-	}
+	torture_assert_ntstatus_ok(tctx, status, "Failed to create partial surrogate 2");
 
-	status = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name3, 2);
+	status = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name3, 2);
 
-	if (!NT_STATUS_IS_OK(status)) {
-		printf("Failed to create full surrogate - %s\n",
-		       nt_errstr(status));
-		return False;
-	}
+	torture_assert_ntstatus_ok(tctx, status, "Failed to create full surrogate");
 
-	return True;
+	return true;
 }
 
 /*
   see if the server recognises wide-a characters
 */
-static BOOL test_widea(struct torture_context *tctx, 
-					   struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
+static bool test_widea(struct torture_context *tctx, 
+		       struct smbcli_state *cli)
 {
 	const uint32_t name1[] = {'a'};
 	const uint32_t name2[] = {0xff41};
 	const uint32_t name3[] = {0xff21};
 	NTSTATUS status;
 
-	printf("Testing wide-a\n");
-	
-	status = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name1, 1);
+	torture_assert(tctx, torture_setup_dir(cli, BASEDIR), 
+		       "setting up basedir");
 
-	if (!NT_STATUS_IS_OK(status)) {
-		printf("Failed to create 'a' - %s\n",
-		       nt_errstr(status));
-		return False;
-	}
+	status = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name1, 1);
 
-	status = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name2, 1);
+	torture_assert_ntstatus_ok(tctx, status, "Failed to create 'a'");
 
-	if (!NT_STATUS_IS_OK(status)) {
-		printf("Failed to create wide-a - %s\n",
-		       nt_errstr(status));
-		return False;
-	}
+	status = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name2, 1);
 
-	status = unicode_open(tctx, cli->tree, mem_ctx, NTCREATEX_DISP_CREATE, name3, 1);
+	torture_assert_ntstatus_ok(tctx, status, "Failed to create wide-a");
 
-	if (!NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_COLLISION)) {
-		printf("Expected %s creating wide-A - %s\n",
-		       nt_errstr(NT_STATUS_OBJECT_NAME_COLLISION),
-		       nt_errstr(status));
-		return False;
-	}
+	status = unicode_open(tctx, cli->tree, tctx, NTCREATEX_DISP_CREATE, name3, 1);
 
-	return True;
+	torture_assert_ntstatus_equal(tctx, status, NT_STATUS_OBJECT_NAME_COLLISION, 
+		"Failed to create wide-A");
+
+	return true;
 }
 
-BOOL torture_charset(struct torture_context *tctx, struct smbcli_state *cli)
+struct torture_suite *torture_charset(TALLOC_CTX *mem_ctx)
 {
-	BOOL ret = True;
-	TALLOC_CTX *mem_ctx;
+	struct torture_suite *suite = torture_suite_create(mem_ctx, "CHARSET");
 
-	mem_ctx = talloc_init("torture_charset");
+	torture_suite_add_1smb_test(suite, "Testing composite character (a umlaut)", test_composed); 
+	torture_suite_add_1smb_test(suite, "Testing naked diacritical (umlaut)", test_diacritical);
+	torture_suite_add_1smb_test(suite, "Testing partial surrogate", test_surrogate);
+	torture_suite_add_1smb_test(suite, "Testing wide-a", test_widea);
 
-	if (!torture_setup_dir(cli, BASEDIR)) {
-		return False;
-	}
-
-	if (!test_composed(tctx, cli, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_diacritical(tctx, cli, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_surrogate(tctx, cli, mem_ctx)) {
-		ret = False;
-	}
-
-	if (!test_widea(tctx, cli, mem_ctx)) {
-		ret = False;
-	}
-
-	return ret;
+	return suite;
 }

Modified: branches/SAMBA_4_0/source/torture/raw/raw.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/raw.c	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/torture/raw/raw.c	2007-09-02 02:07:55 UTC (rev 24882)
@@ -71,8 +71,7 @@
 				      torture_samba3_posixtimedlock);
 	torture_suite_add_simple_test(suite, "SCAN-EAMAX", torture_max_eas);
 
-	suite->description = talloc_strdup(suite, 
-							"Tests for the raw SMB interface");
+	suite->description = talloc_strdup(suite, "Tests for the raw SMB interface");
 
 	torture_register_suite(suite);
 

Modified: branches/SAMBA_4_0/source/torture/util_smb.c
===================================================================
--- branches/SAMBA_4_0/source/torture/util_smb.c	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/source/torture/util_smb.c	2007-09-02 02:07:55 UTC (rev 24882)
@@ -829,10 +829,9 @@
 }
 
 _PUBLIC_ struct torture_test *torture_suite_add_1smb_test(
-									struct torture_suite *suite,
-									const char *name,
-									bool (*run) (struct torture_context *,
-												struct smbcli_state *))
+				struct torture_suite *suite,
+				const char *name,
+				bool (*run) (struct torture_context *, struct smbcli_state *))
 {
 	struct torture_test *test; 
 	struct torture_tcase *tcase;

Modified: branches/SAMBA_4_0/testdata/samba3/smb.conf
===================================================================
--- branches/SAMBA_4_0/testdata/samba3/smb.conf	2007-09-02 01:10:29 UTC (rev 24881)
+++ branches/SAMBA_4_0/testdata/samba3/smb.conf	2007-09-02 02:07:55 UTC (rev 24882)
@@ -5,19 +5,19 @@
    debug level = 5
 
 [cd1]
-path = /mnt/cd1
-public = yes
+	path = /mnt/cd1
+	public = yes
 
 [cd2]
-path = /mnt/cd2
-public = yes
+	path = /mnt/cd2
+	public = yes
 
 [media]
-path = /media
-public = yes
+	path = /media
+	public = yes
 
 [tmp]
-path = /tmp
-guest only = yes
-public = yes
-read only = no
+	path = /tmp
+	guest only = yes
+	public = yes
+	read only = no



More information about the samba-cvs mailing list