Rev 11324: Generate list of tests rather than maintaining it manually. in file:///home/jelmer/bzr.samba/SAMBA_4_0/

Jelmer Vernooij jelmer at samba.org
Fri Jan 26 13:00:15 GMT 2007


------------------------------------------------------------
revno: 11324
revision-id: jelmer at samba.org-20070126125959-3w3t26aps9hmwukv
parent: svn-v2:21027 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: SAMBA_4_0
timestamp: Fri 2007-01-26 13:59:59 +0100
message:
  Generate list of tests rather than maintaining it manually.
modified:
  source/script/tests/test_posix.sh svn-v2:3176 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fscript%2ftests%2ftest_posix.sh
  source/torture/smbtorture.c    svn-v2:14520 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2ftorture%2fsmbtorture.c
=== modified file 'source/script/tests/test_posix.sh'
--- a/source/script/tests/test_posix.sh	2006-10-16 13:06:41 +0000
+++ b/source/script/tests/test_posix.sh	2007-01-26 12:59:59 +0000
@@ -20,32 +20,7 @@
 incdir=`dirname $0`
 . $incdir/test_functions.sh
 
-#
-# please don't remove tests here, when you want them to be skipped!
-# just add them to the skipped line below
-# this should be the complete list smbtorture offers as BASE-* tests
-#
-base="BASE-ATTR BASE-CHARSET BASE-CHKPATH BASE-DEFER_OPEN BASE-DELAYWRITE BASE-DELETE"
-base="$base BASE-DENY1 BASE-DENY2 BASE-DENY3 BASE-DENYDOS BASE-DIR1 BASE-DIR2"
-base="$base BASE-DISCONNECT BASE-FDPASS BASE-LOCK "
-base="$base BASE-MANGLE BASE-NEGNOWAIT BASE-NTDENY1"
-base="$base BASE-NTDENY2 BASE-OPEN BASE-OPENATTR BASE-PROPERTIES BASE-RENAME BASE-RW1"
-base="$base BASE-SECLEAK BASE-TCON BASE-TCONDEV BASE-TRANS2 BASE-UNLINK BASE-VUID"
-base="$base BASE-XCOPY"
-
-#
-# please don't remove tests here, when you want them to be skipped!
-# just add them to the skipped line below
-# this should be the complete list smbtorture offers as RAW-* tests
-#
-raw="RAW-CHKPATH RAW-CLOSE RAW-COMPOSITE RAW-CONTEXT RAW-EAS"
-raw="$raw RAW-IOCTL RAW-LOCK RAW-MKDIR RAW-MUX RAW-NOTIFY RAW-OPEN RAW-OPLOCK"
-raw="$raw RAW-QFILEINFO RAW-QFSINFO RAW-READ RAW-RENAME RAW-SEARCH RAW-SEEK"
-raw="$raw RAW-SFILEINFO RAW-SFILEINFO-BUG RAW-STREAMS RAW-UNLINK RAW-WRITE"
-
-smb2="SMB2-CONNECT SMB2-GETINFO SMB2-SETINFO SMB2-FIND"
-
-tests="$base $raw $smb2"
+tests=`bin/smbtorture --list | grep "^(BASE|RAW|SMB2)-" | xargs`
 
 #
 # please add tests you want to be skipped here!

=== modified file 'source/torture/smbtorture.c'
--- a/source/torture/smbtorture.c	2007-01-14 05:06:50 +0000
+++ b/source/torture/smbtorture.c	2007-01-26 12:59:59 +0000
@@ -163,6 +163,23 @@
 
 }
 
+static void print_test_list(void)
+{
+	struct torture_suite *o;
+	struct torture_suite *s;
+	struct torture_tcase *t;
+
+	for (o = torture_root->children; o; o = o->next) {
+		for (s = o->children; s; s = s->next) {
+			printf("%s-%s\n", o->name, s->name);
+		}
+
+		for (t = o->testcases; t; t = t->next) {
+			printf("%s-%s\n", o->name, t->name);
+		}
+	}
+}
+
 static void usage(poptContext pc)
 {
 	struct torture_suite *o;
@@ -487,7 +504,8 @@
 	NTSTATUS status;
 	int shell = False;
 	static const char *ui_ops_name = "simple";
-	enum {OPT_LOADFILE=1000,OPT_UNCLIST,OPT_TIMELIMIT,OPT_DNS,
+	static int list_tests = 0;
+	enum {OPT_LOADFILE=1000,OPT_UNCLIST,OPT_TIMELIMIT,OPT_DNS, OPT_LIST,
 	      OPT_DANGEROUS,OPT_SMB_PORTS,OPT_ASYNC,OPT_NUMPROGS, OPT_BASEDIR};
 	
 	struct poptOption long_options[] = {
@@ -500,6 +518,7 @@
 		{"num-ops",	  0, POPT_ARG_INT,  &torture_numops, 	0, 	"num ops",	NULL},
 		{"entries",	  0, POPT_ARG_INT,  &torture_entries, 	0,	"entries",	NULL},
 		{"loadfile",	  0, POPT_ARG_STRING,	NULL, 	OPT_LOADFILE,	"loadfile", 	NULL},
+		{"list", 	  0, POPT_ARG_NONE, &list_tests, 0, NULL, NULL },
 		{"unclist",	  0, POPT_ARG_STRING,	NULL, 	OPT_UNCLIST,	"unclist", 	NULL},
 		{"timelimit",	't', POPT_ARG_INT,	NULL, 	OPT_TIMELIMIT,	"timelimit", 	NULL},
 		{"failures",	'f', POPT_ARG_INT,  &torture_failures, 	0,	"failures", 	NULL},
@@ -584,6 +603,11 @@
 	torture_init();
 	ldb_global_init();
 
+	if (list_tests) {
+		print_test_list();
+		return 0;
+	}
+
 	subunit_dir = lp_parm_string_list(-1, "torture", "subunitdir", ":");
 	if (subunit_dir == NULL) 
 		torture_subunit_load_testsuites(dyn_TORTUREDIR, true, NULL);



More information about the samba-cvs mailing list