svn commit: samba r14718 - in branches/SAMBA_4_0/source/torture: .

jelmer at samba.org jelmer at samba.org
Sat Mar 25 14:49:00 GMT 2006


Author: jelmer
Date: 2006-03-25 14:49:00 +0000 (Sat, 25 Mar 2006)
New Revision: 14718

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

Log:
Add initial work on a standardized UI for smbtorture

Added:
   branches/SAMBA_4_0/source/torture/ui.c
   branches/SAMBA_4_0/source/torture/ui.h
Modified:
   branches/SAMBA_4_0/source/torture/config.mk
   branches/SAMBA_4_0/source/torture/torture.h


Changeset:
Modified: branches/SAMBA_4_0/source/torture/config.mk
===================================================================
--- branches/SAMBA_4_0/source/torture/config.mk	2006-03-25 11:58:05 UTC (rev 14717)
+++ branches/SAMBA_4_0/source/torture/config.mk	2006-03-25 14:49:00 UTC (rev 14718)
@@ -6,7 +6,8 @@
 PUBLIC_HEADERS = torture.h
 PUBLIC_PROTO_HEADER = proto.h
 OBJ_FILES = \
-		torture.o
+		torture.o \
+		ui.o
 REQUIRED_SUBSYSTEMS = \
 		TORTURE_UTIL \
 		TORTURE_RAW \

Modified: branches/SAMBA_4_0/source/torture/torture.h
===================================================================
--- branches/SAMBA_4_0/source/torture/torture.h	2006-03-25 11:58:05 UTC (rev 14717)
+++ branches/SAMBA_4_0/source/torture/torture.h	2006-03-25 14:49:00 UTC (rev 14718)
@@ -41,6 +41,9 @@
 extern int torture_failures;
 extern BOOL use_level_II_oplocks;
 
+struct torture_context;
+struct torture_test;
+
 #include "torture/proto.h"
 
 #endif /* __TORTURE_H__ */

Added: branches/SAMBA_4_0/source/torture/ui.c
===================================================================
--- branches/SAMBA_4_0/source/torture/ui.c	2006-03-25 11:58:05 UTC (rev 14717)
+++ branches/SAMBA_4_0/source/torture/ui.c	2006-03-25 14:49:00 UTC (rev 14718)
@@ -0,0 +1,76 @@
+/* 
+   Unix SMB/CIFS implementation.
+   SMB torture UI functions
+
+   Copyright (C) Jelmer Vernooij 2006
+   
+   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
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "includes.h"
+#include "torture/ui.h"
+
+struct torture_test *torture_test(struct torture_context *ctx, const char *name, const char *description)
+{
+	struct torture_test *test = talloc(ctx, struct torture_test);
+
+	test->name = talloc_strdup(test, name);
+	test->description = talloc_strdup(test, description);
+	test->context = ctx;
+
+	ctx->ui_ops->test_start(test);
+
+	return test;
+}
+
+struct torture_test *torture_subtest(struct torture_test *parent, const char *name, const char *description)
+{
+	struct torture_test *test = talloc(parent, struct torture_test);
+
+	test->name = talloc_strdup(test, name);
+	test->description = talloc_strdup(test, description);
+	test->context = parent->context;
+
+	test->context->ui_ops->test_start(test);
+	
+	return NULL;
+}
+
+void torture_comment(struct torture_test *test, const char *comment, ...)
+{
+	va_list ap;
+	char *tmp;
+	va_start(ap, comment);
+	tmp = talloc_vasprintf(test, comment, ap);
+		
+	test->context->ui_ops->comment(test, tmp);
+	
+	talloc_free(tmp);
+}
+
+void torture_ok(struct torture_test *test)
+{
+	test->context->ui_ops->test_result(test, TORTURE_OK);
+}
+
+void torture_fail(struct torture_test *test)
+{
+	test->context->ui_ops->test_result(test, TORTURE_FAIL);
+}
+
+void torture_skip(struct torture_test *test)
+{
+	test->context->ui_ops->test_result(test, TORTURE_SKIP);
+}


Property changes on: branches/SAMBA_4_0/source/torture/ui.c
___________________________________________________________________
Name: svn:eol-style
   + native

Added: branches/SAMBA_4_0/source/torture/ui.h
===================================================================
--- branches/SAMBA_4_0/source/torture/ui.h	2006-03-25 11:58:05 UTC (rev 14717)
+++ branches/SAMBA_4_0/source/torture/ui.h	2006-03-25 14:49:00 UTC (rev 14718)
@@ -0,0 +1,52 @@
+/* 
+   Unix SMB/CIFS implementation.
+   SMB torture UI functions
+
+   Copyright (C) Jelmer Vernooij 2006
+   
+   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
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+struct torture_test;
+
+enum torture_result { 
+	TORTURE_OK=0, 
+	TORTURE_FAIL=1, 
+	TORTURE_TODO=2, 
+	TORTURE_SKIP=3
+};
+
+struct torture_ui_ops
+{
+	void (*comment) (struct torture_test *, const char *);
+	void (*test_start) (struct torture_test *);
+	void (*test_result) (struct torture_test *, enum torture_result);
+};
+
+struct torture_test
+{
+	char *name;
+	char *description;
+
+	void *ui_data;
+
+	struct torture_context *context;
+};
+
+struct torture_context
+{
+	const struct torture_ui_ops *ui_ops;
+	void *ui_data;
+};


Property changes on: branches/SAMBA_4_0/source/torture/ui.h
___________________________________________________________________
Name: svn:eol-style
   + native



More information about the samba-cvs mailing list