Serenity Operating System
1/*
2 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
3 * Copyright (c) 2021, Andrew Kaster <akaster@serenityos.org>
4 *
5 * SPDX-License-Identifier: BSD-2-Clause
6 */
7
8#include <LibTest/TestCase.h>
9
10#include <AK/Format.h>
11#include <AK/Vector.h>
12#include <LibTest/TestSuite.h>
13
14#ifdef KERNEL
15# define TEST_MAIN test_main
16#else
17# define TEST_MAIN main
18#endif
19
20int TEST_MAIN(int argc, char** argv)
21{
22 if (argc < 1 || !argv[0] || '\0' == *argv[0]) {
23 warnln("Test main does not have a valid test name!");
24 return 1;
25 }
26
27 Vector<StringView> arguments;
28 arguments.ensure_capacity(argc);
29 for (auto i = 0; i < argc; ++i)
30 arguments.append({ argv[i], strlen(argv[i]) });
31
32 int ret = ::Test::TestSuite::the().main(argv[0], arguments);
33 ::Test::TestSuite::release();
34 return ret;
35}