2006-08-18 Aaron Bockover <abockover@novell.com>
[mono.git] / eglib / test / test.h
index 8d69bb500568866976048a0b7bdebb79bf91f5da..cfe81ca82595d0b6818c7588b094058fa7f3034e 100644 (file)
@@ -1,21 +1,60 @@
+/*
+ * EGLib Unit Group/Test Runners
+ *
+ * Author:
+ *   Aaron Bockover (abockover@novell.com)
+ *
+ * (C) 2006 Novell, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
 #ifndef _TEST_H
 #define _TEST_H
 
 #include <stdarg.h>
+#include <glib.h>
+
+typedef gchar * RESULT;
 
 typedef struct _Test Test;
+typedef struct _Group Group;
 
-typedef char * (* RunTestHandler)();
+typedef gchar * (* RunTestHandler)();
 typedef Test * (* LoadGroupHandler)();
 
 struct _Test {
-       const char *name;
+       const gchar *name;
        RunTestHandler handler;
 };
 
-void run_test(Test *test);
-void run_group(const char *name, LoadGroupHandler group_handler);
-void run_groups(const char *first_name, LoadGroupHandler first_group_handler, ...);
+struct _Group {
+       const gchar *name;
+       LoadGroupHandler handler;
+};
+
+gboolean run_test(Test *test, gboolean quiet);
+void run_group(Group *group, gint *total, gint *passed, gboolean quiet);
+RESULT FAILED(const gchar *format, ...);
+
+#define OK NULL
 
 #define DEFINE_TEST_GROUP_INIT(name, table) \
        Test * (name)() { return table; }
@@ -23,7 +62,5 @@ void run_groups(const char *first_name, LoadGroupHandler first_group_handler, ..
 #define DEFINE_TEST_GROUP_INIT_H(name) \
        Test * (name)();
 
-#define RESULT(x) g_strdup_printf(x);
-
 #endif /* _TEST_H */