Annotation of embedaddon/strongswan/src/libstrongswan/tests/tests.c, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2013 Martin Willi
3: * Copyright (C) 2013 revosec AG
4: *
5: * This program is free software; you can redistribute it and/or modify it
6: * under the terms of the GNU General Public License as published by the
7: * Free Software Foundation; either version 2 of the License, or (at your
8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9: *
10: * This program is distributed in the hope that it will be useful, but
11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13: * for more details.
14: */
15:
16: #include <test_runner.h>
17:
18: /* declare test suite constructors */
19: #define TEST_SUITE(x) test_suite_t* x();
20: #define TEST_SUITE_DEPEND(x, ...) TEST_SUITE(x)
21: #include "tests.h"
22: #undef TEST_SUITE
23: #undef TEST_SUITE_DEPEND
24:
25: static test_configuration_t tests[] = {
26: #define TEST_SUITE(x) \
27: { .suite = x, },
28: #define TEST_SUITE_DEPEND(x, type, ...) \
29: { .suite = x, .feature = PLUGIN_DEPENDS(type, __VA_ARGS__) },
30: #include "tests.h"
31: { .suite = NULL, }
32: };
33:
34: static bool test_runner_init(bool init)
35: {
36: if (init)
37: {
38: char *plugins, *plugindir;
39:
40: plugins = getenv("TESTS_PLUGINS") ?:
41: lib->settings->get_str(lib->settings,
42: "tests.load", PLUGINS);
43: plugindir = lib->settings->get_str(lib->settings,
44: "tests.plugindir", PLUGINDIR);
45: plugin_loader_add_plugindirs(plugindir, plugins);
46: if (!lib->plugins->load(lib->plugins, plugins))
47: {
48: return FALSE;
49: }
50: }
51: else
52: {
53: lib->processor->set_threads(lib->processor, 0);
54: lib->processor->cancel(lib->processor);
55: lib->plugins->unload(lib->plugins);
56: }
57: return TRUE;
58: }
59:
60: int main(int argc, char *argv[])
61: {
62: return test_runner_run("libstrongswan", tests, test_runner_init);
63: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>