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