summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2004-07-28 15:54:14 +0000
committerFrederic Peters <fpeters@entrouvert.com>2004-07-28 15:54:14 +0000
commit70cd9c3a7b06bfdcb038978f59e1b86623c5da57 (patch)
tree396d5ae238db748dabc82a7ecff3bc13cbe54c02 /tests
parent76c3e1e11ec5398f95b70fbbbfc8fd50bb704309 (diff)
downloadlasso-70cd9c3a7b06bfdcb038978f59e1b86623c5da57.tar.gz
lasso-70cd9c3a7b06bfdcb038978f59e1b86623c5da57.tar.xz
lasso-70cd9c3a7b06bfdcb038978f59e1b86623c5da57.zip
modularized tests; it is now possible to add more suites easily.
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am10
-rw-r--r--tests/login_tests.c38
-rw-r--r--tests/tests.c75
3 files changed, 82 insertions, 41 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 62d9c289..a8b790a7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,7 +1,7 @@
if WITH_TESTS
-TESTS = login_tests
-noinst_PROGRAMS = login_tests
+TESTS = tests
+noinst_PROGRAMS = tests
INCLUDES = \
-DPACKAGE=\"@PACKAGE@\" \
@@ -11,12 +11,12 @@ INCLUDES = \
$(LASSO_CFLAGS) \
$(CHECK_CFLAGS)
-login_tests_SOURCES = login_tests.c
-login_tests_LDADD = \
+tests_SOURCES = tests.c login_tests.c
+tests_LDADD = \
$(top_builddir)/lasso/liblasso.la \
$(LASSO_LIBS) \
$(CHECK_LIBS)
endif
-EXTRA_DIST = login_tests.c
+EXTRA_DIST = tests.c login_tests.c
diff --git a/tests/login_tests.c b/tests/login_tests.c
index 8be25960..edc51e0c 100644
--- a/tests/login_tests.c
+++ b/tests/login_tests.c
@@ -29,7 +29,7 @@
#include <lasso/lasso.h>
-char*
+static char*
generateIdentityProviderContextDump()
{
LassoServer *serverContext;
@@ -48,7 +48,7 @@ generateIdentityProviderContextDump()
return lasso_server_dump(serverContext);
}
-char*
+static char*
generateServiceProviderContextDump()
{
LassoServer *serverContext;
@@ -257,37 +257,3 @@ login_suite()
return s;
}
-int
-main(int argc, char *argv[])
-{
- int rc;
- Suite *s;
- SRunner *sr;
- int i;
- int dont_fork = 0;
-
- for (i=1; i<argc; i++) {
- if (strcmp(argv[i], "--dontfork") == 0) {
- dont_fork = 1;
- }
- }
-
- lasso_init();
-
- s = login_suite();
- sr = srunner_create(s);
- if (dont_fork) {
- srunner_set_fork_status(sr, CK_NOFORK);
- }
- srunner_set_xml(sr, "out.xml");
- srunner_run_all (sr, CK_VERBOSE);
- rc = srunner_ntests_failed(sr);
-
- srunner_free(sr);
- /*suite_free(s);*/
-
- /*lasso_destroy();*/
-
- return (rc == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
-
diff --git a/tests/tests.c b/tests/tests.c
new file mode 100644
index 00000000..d96cbde8
--- /dev/null
+++ b/tests/tests.c
@@ -0,0 +1,75 @@
+/*
+ * Lasso library C unit tests
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.entrouvert.org
+ *
+ * Author: Emmanuel Raviart <eraviart@entrouvert.com>
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <check.h>
+#include <lasso.h>
+
+extern Suite* login_suite();
+typedef Suite* (*SuiteFunction) ();
+
+SuiteFunction suites[] = {
+ login_suite,
+ NULL
+};
+
+int
+main(int argc, char *argv[])
+{
+ int rc;
+ SRunner *sr;
+ int i;
+ int dont_fork = 0;
+
+ for (i=1; i<argc; i++) {
+ if (strcmp(argv[i], "--dontfork") == 0) {
+ dont_fork = 1;
+ }
+ }
+
+ lasso_init();
+
+ sr = srunner_create(suites[0]());
+
+ i = 1;
+ while (suites[i]) {
+ srunner_add_suite(sr, suites[i]());
+ }
+
+ if (dont_fork) {
+ srunner_set_fork_status(sr, CK_NOFORK);
+ }
+ srunner_set_xml(sr, "result.xml");
+ srunner_run_all (sr, CK_VERBOSE);
+ rc = srunner_ntests_failed(sr);
+
+ srunner_free(sr);
+ /*suite_free(s);*/
+
+ /*lasso_destroy();*/
+
+ return (rc == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+