svn commit: samba r26671 - in branches/SAMBA_4_0: . source
source/selftest source/torture/rap
jelmer at samba.org
jelmer at samba.org
Sat Jan 5 19:03:37 GMT 2008
Author: jelmer
Date: 2008-01-05 19:03:36 +0000 (Sat, 05 Jan 2008)
New Revision: 26671
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26671
Log:
rap: Convert the RAP tests to the new torture API and run them by default.
We don't have a server-side implementation of netservergetinfo yet, so it is
marked as known failing.
Modified:
branches/SAMBA_4_0/
branches/SAMBA_4_0/source/samba4-knownfail
branches/SAMBA_4_0/source/selftest/samba4_tests.sh
branches/SAMBA_4_0/source/torture/rap/rap.c
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 2008-01-05 15:36:37 UTC (rev 26670)
+++ branches/SAMBA_4_0/source/samba4-knownfail 2008-01-05 19:03:36 UTC (rev 26671)
@@ -33,3 +33,4 @@
RPC-NETLOGON.*.GetTrustPasswords
BASE-CHARSET.*.Testing partial surrogate
.*NET-API-DELSHARE.* # DelShare isn't implemented yet
+RAP.*netservergetinfo
Modified: branches/SAMBA_4_0/source/selftest/samba4_tests.sh
===================================================================
--- branches/SAMBA_4_0/source/selftest/samba4_tests.sh 2008-01-05 15:36:37 UTC (rev 26670)
+++ branches/SAMBA_4_0/source/selftest/samba4_tests.sh 2008-01-05 19:03:36 UTC (rev 26671)
@@ -190,6 +190,11 @@
plantest "$t" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/tmp -U"\$USERNAME"%"\$PASSWORD" $t
done
+rap=`$smb4torture --list | grep "^RAP-" | xargs`
+for t in $rap; do
+ plantest "$t" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/IPC\\\$ -U"\$USERNAME"%"\$PASSWORD" $t
+done
+
# Tests against the NTVFS CIFS backend
for t in $base $raw; do
plantest "ntvfs.cifs.$t" dc $VALGRIND $smb4torture //\$NETBIOSNAME/cifs -U"\$USERNAME"%"\$PASSWORD" $t
Modified: branches/SAMBA_4_0/source/torture/rap/rap.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rap/rap.c 2008-01-05 15:36:37 UTC (rev 26670)
+++ branches/SAMBA_4_0/source/torture/rap/rap.c 2008-01-05 19:03:36 UTC (rev 26671)
@@ -3,6 +3,7 @@
test suite for various RAP operations
Copyright (C) Volker Lendecke 2004
Copyright (C) Tim Potter 2005
+ Copyright (C) Jelmer Vernooij 2007
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -311,17 +312,17 @@
return result;
}
-static bool test_netshareenum(struct smbcli_tree *tree)
+static bool test_netshareenum(struct torture_context *tctx,
+ struct smbcli_state *cli)
{
struct rap_NetShareEnum r;
int i;
- TALLOC_CTX *tmp_ctx = talloc_new(tree);
r.in.level = 1;
r.in.bufsize = 8192;
- if (!NT_STATUS_IS_OK(smbcli_rap_netshareenum(tree, tmp_ctx, &r)))
- return false;
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netshareenum(cli->tree, tctx, &r), "");
for (i=0; i<r.out.count; i++) {
printf("%s %d %s\n", r.out.info[i].info1.name,
@@ -329,8 +330,6 @@
r.out.info[i].info1.comment);
}
- talloc_free(tmp_ctx);
-
return true;
}
@@ -409,11 +408,11 @@
return result;
}
-static bool test_netserverenum(struct smbcli_tree *tree)
+static bool test_netserverenum(struct torture_context *tctx,
+ struct smbcli_state *cli)
{
struct rap_NetServerEnum2 r;
int i;
- TALLOC_CTX *tmp_ctx = talloc_new(tree);
r.in.level = 0;
r.in.bufsize = 8192;
@@ -421,8 +420,8 @@
r.in.servertype = 0x80000000;
r.in.domain = NULL;
- if (!NT_STATUS_IS_OK(smbcli_rap_netserverenum2(tree, tmp_ctx, &r)))
- return false;
+ torture_assert_ntstatus_ok(tctx,
+ smbcli_rap_netserverenum2(cli->tree, tctx, &r), "");
for (i=0; i<r.out.count; i++) {
switch (r.in.level) {
@@ -437,8 +436,6 @@
}
}
- talloc_free(tmp_ctx);
-
return true;
}
@@ -501,74 +498,28 @@
return result;
}
-static bool test_netservergetinfo(struct smbcli_tree *tree)
+static bool test_netservergetinfo(struct torture_context *tctx,
+ struct smbcli_state *cli)
{
struct rap_WserverGetInfo r;
bool res = true;
- TALLOC_CTX *mem_ctx;
- if (!(mem_ctx = talloc_new(tree))) {
- return false;
- }
-
r.in.bufsize = 0xffff;
r.in.level = 0;
- res &= NT_STATUS_IS_OK(smbcli_rap_netservergetinfo(tree, mem_ctx, &r));
+ torture_assert_ntstatus_ok(tctx, smbcli_rap_netservergetinfo(cli->tree, tctx, &r), "");
r.in.level = 1;
- res &= NT_STATUS_IS_OK(smbcli_rap_netservergetinfo(tree, mem_ctx, &r));
+ torture_assert_ntstatus_ok(tctx, smbcli_rap_netservergetinfo(cli->tree, tctx, &r), "");
- talloc_free(mem_ctx);
return res;
}
-static bool test_rap(struct smbcli_tree *tree)
+bool torture_rap_scan(struct torture_context *torture, struct smbcli_state *cli)
{
- bool res = true;
-
- res &= test_netserverenum(tree);
- res &= test_netshareenum(tree);
- res &= test_netservergetinfo(tree);
-
- return res;
-}
-
-bool torture_rap_basic(struct torture_context *torture)
-{
- struct smbcli_state *cli;
- bool ret = true;
- TALLOC_CTX *mem_ctx;
-
- if (!torture_open_connection(&cli, torture, 0)) {
- return false;
- }
-
- mem_ctx = talloc_init("torture_rap_basic");
-
- if (!test_rap(cli->tree)) {
- ret = false;
- }
-
- torture_close_connection(cli);
- talloc_free(mem_ctx);
-
- return ret;
-}
-
-bool torture_rap_scan(struct torture_context *torture)
-{
- TALLOC_CTX *mem_ctx;
- struct smbcli_state *cli;
int callno;
- mem_ctx = talloc_init("torture_rap_scan");
-
- if (!torture_open_connection(&cli, torture, 0)) {
- return false;
- }
-
for (callno = 0; callno < 0xffff; callno++) {
- struct rap_call *call = new_rap_cli_call(mem_ctx, callno);
+ struct rap_call *call = new_rap_cli_call(torture, callno);
NTSTATUS result;
result = rap_cli_do_call(cli->tree, call);
@@ -579,20 +530,25 @@
printf("callno %d is RAP call\n", callno);
}
- torture_close_connection(cli);
-
return true;
}
NTSTATUS torture_rap_init(void)
{
- struct torture_suite *suite = torture_suite_create(
- talloc_autofree_context(),
- "RAP");
+ struct torture_suite *suite = torture_suite_create(talloc_autofree_context(), "RAP");
+ struct torture_suite *suite_basic = torture_suite_create(suite, "BASIC");
- torture_suite_add_simple_test(suite, "BASIC", torture_rap_basic);
- torture_suite_add_simple_test(suite, "SCAN", torture_rap_scan);
+ torture_suite_add_suite(suite, suite_basic);
+ torture_suite_add_1smb_test(suite_basic, "netserverenum",
+ test_netserverenum);
+ torture_suite_add_1smb_test(suite_basic, "netshareenum",
+ test_netshareenum);
+ torture_suite_add_1smb_test(suite_basic, "netservergetinfo",
+ test_netservergetinfo);
+
+ torture_suite_add_1smb_test(suite, "SCAN", torture_rap_scan);
+
suite->description = talloc_strdup(suite,
"Remote Administration Protocol tests");
More information about the samba-cvs
mailing list