Serenity Operating System
at master 35 lines 834 B view raw
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}