diff options
author | Martin Willi <martin@revosec.ch> | 2013-11-05 14:40:03 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-11-06 10:31:07 +0100 |
commit | 09d0c9030ae92f80a24fd03f81a96887e7a17800 (patch) | |
tree | ff339a2087861c3f31aa072d93b2404b881571e9 /src/libstrongswan/tests/tests.c | |
parent | 5a3230a2503a941431e891d2d43bc760f9f56cca (diff) | |
download | strongswan-09d0c9030ae92f80a24fd03f81a96887e7a17800.tar.bz2 strongswan-09d0c9030ae92f80a24fd03f81a96887e7a17800.tar.xz |
unit-tests: Separate test runner to a library, reusable by other tests
Other users may make use of the noinst libtest.la helper library to implement
unit tests. For libstrongswan, tests.[ch] provide the configuration for test
runner to perform unit tests in a simple manner.
Diffstat (limited to 'src/libstrongswan/tests/tests.c')
-rw-r--r-- | src/libstrongswan/tests/tests.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/libstrongswan/tests/tests.c b/src/libstrongswan/tests/tests.c new file mode 100644 index 000000000..a32f384ca --- /dev/null +++ b/src/libstrongswan/tests/tests.c @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2013 Martin Willi + * Copyright (C) 2013 revosec AG + * + * 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. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * 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. + */ + +#include <test_runner.h> + +/* declare test suite constructors */ +#define TEST_SUITE(x) test_suite_t* x(); +#define TEST_SUITE_DEPEND(x, ...) TEST_SUITE(x) +#include "tests.h" +#undef TEST_SUITE +#undef TEST_SUITE_DEPEND + +static test_configuration_t tests[] = { +#define TEST_SUITE(x) \ + { .suite = x, }, +#define TEST_SUITE_DEPEND(x, type, args) \ + { .suite = x, .feature = PLUGIN_DEPENDS(type, args) }, +#include "tests.h" + { .suite = NULL, } +}; + +static char *plugindirs[] = { + PLUGINDIR, + NULL, +}; + +int main(int argc, char *argv[]) +{ + return test_runner_run(tests, plugindirs, PLUGINS); +} |