modularized tests; it is now possible to add more suites easily.

This commit is contained in:
Frédéric Péters 2004-07-28 15:54:14 +00:00
parent 76c3e1e11e
commit 70cd9c3a7b
3 changed files with 82 additions and 41 deletions

View File

@ -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

View File

@ -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;
}

75
tests/tests.c Normal file
View File

@ -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;
}