From 74dd0183e4e56b07cedfa87eae7a8fb3166f01e8 Mon Sep 17 00:00:00 2001 From: Lorry Date: Tue, 28 Aug 2012 15:30:14 +0100 Subject: Tarball conversion --- test/test_all.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 test/test_all.c (limited to 'test/test_all.c') diff --git a/test/test_all.c b/test/test_all.c new file mode 100644 index 0000000..4cc4c8c --- /dev/null +++ b/test/test_all.c @@ -0,0 +1,101 @@ +/* Copyright 2002-2007 Justin Erenkrantz and Greg Stein + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "apr.h" +#include "apr_pools.h" +#include "test_serf.h" +#include + +static const struct testlist { + const char *testname; + CuSuite *(*func)(void); +} tests[] = { + {"context", test_context}, + {"buckets", test_buckets}, + {"ssl", test_ssl}, + {"LastTest", NULL} +}; + +int main(int argc, char *argv[]) +{ + CuSuite *alltests = NULL; + CuString *output = CuStringNew(); + int i; + int list_provided = 0; + int exit_code; + + apr_initialize(); + atexit(apr_terminate); + + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-v")) { + continue; + } + if (!strcmp(argv[i], "-l")) { + for (i = 0; tests[i].func != NULL; i++) { + printf("%s\n", tests[i].testname); + } + exit(0); + } + if (argv[i][0] == '-') { + fprintf(stderr, "invalid option: `%s'\n", argv[i]); + exit(1); + } + list_provided = 1; + } + + alltests = CuSuiteNew(); + if (!list_provided) { + /* add everything */ + for (i = 0; tests[i].func != NULL; i++) { + CuSuite *st = tests[i].func(); + CuSuiteAddSuite(alltests, st); + CuSuiteFree(st); + } + } + else { + /* add only the tests listed */ + for (i = 1; i < argc; i++) { + int j; + int found = 0; + + if (argv[i][0] == '-') { + continue; + } + for (j = 0; tests[j].func != NULL; j++) { + if (!strcmp(argv[i], tests[j].testname)) { + CuSuiteAddSuite(alltests, tests[j].func()); + found = 1; + } + } + if (!found) { + fprintf(stderr, "invalid test name: `%s'\n", argv[i]); + exit(1); + } + } + } + + CuSuiteRun(alltests); + CuSuiteSummary(alltests, output); + CuSuiteDetails(alltests, output); + printf("%s\n", output->buffer); + + exit_code = alltests->failCount > 0 ? 1 : 0; + + CuSuiteFreeDeep(alltests); + CuStringFree(output); + + return exit_code; +} -- cgit v1.2.1