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