mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-30 00:00:11 +01:00

This edits the headers in every file so the copyright notice mentions RWTH Aachen University. We also update some copyright years and fix various comments so the header is the same across all of VILLASframework. * Harmonize comment and code-style Signed-off-by: Steffen Vogel <steffen.vogel@opal-rt.com> * Harmonize comment and code-style Signed-off-by: Steffen Vogel <steffen.vogel@opal-rt.com> --------- Signed-off-by: Steffen Vogel <steffen.vogel@opal-rt.com>
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
/* Main Unit Test entry point.
|
|
*
|
|
* Author: Steffen Vogel <post@steffenvogel.de>
|
|
* SPDX-FileCopyrightText: 2017 Steffen Vogel <post@steffenvogel.de>
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <criterion/criterion.h>
|
|
#include <criterion/options.h>
|
|
#include <criterion/hooks.h>
|
|
#include <criterion/internal/ordered-set.h>
|
|
|
|
#include <villas/log.hpp>
|
|
|
|
#include <spdlog/spdlog.h>
|
|
|
|
// Returns true if there is at least one enabled test in this suite
|
|
static bool suite_enabled(struct criterion_test_set *tests, const char *name)
|
|
{
|
|
FOREACH_SET(void *suite_ptr, tests->suites) {
|
|
struct criterion_suite_set *suite = (struct criterion_suite_set *) suite_ptr;
|
|
|
|
if (!strcmp(suite->suite.name, name)) {
|
|
FOREACH_SET(void *test_ptr, suite->tests) {
|
|
struct criterion_test *test = (struct criterion_test *) test_ptr;
|
|
|
|
if (!test->data->disabled)
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
// Limit number of parallel jobs to 1 in case we use the FPGA
|
|
ReportHook(PRE_ALL)(struct criterion_test_set *tests)
|
|
{
|
|
if (suite_enabled(tests, "fpga")) {
|
|
auto logger = villas::logging.get("unittest");
|
|
|
|
logger->info("FPGA tests enabled. Only 1 job is executed in parallel!.");
|
|
criterion_options.jobs = 1;
|
|
}
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
int ret;
|
|
|
|
spdlog::set_level(spdlog::level::debug);
|
|
spdlog::set_pattern("[%T] [%l] [%n] %v");
|
|
|
|
// Run criterion tests
|
|
auto tests = criterion_initialize();
|
|
|
|
ret = criterion_handle_args(argc, argv, true);
|
|
if (ret)
|
|
ret = !criterion_run_all_tests(tests);
|
|
|
|
criterion_finalize(tests);
|
|
|
|
return ret;
|
|
}
|