//===-- Main function for implementation of base class for libc unittests -===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "LibcTest.h" #include "src/__support/CPP/string_view.h" string_view; TestOptions; namespace { // A poor-man's getopt_long. // Run unit tests with --gtest_color=no to disable printing colors, or // --gtest_print_time to print timings in milliseconds only (as GTest does, so // external tools such as Android's atest may expect that format to parse the // output). Other command line flags starting with --gtest_ are ignored. // Otherwise, the last command line arg is used as a test filter, if command // line args are specified. TestOptions parseOptions(int argc, char **argv) { … } } // anonymous namespace // The C++ standard forbids declaring the main function with a linkage specifier // outisde of 'freestanding' mode, only define the linkage for hermetic tests. #if __STDC_HOSTED__ #define TEST_MAIN … #else #define TEST_MAIN … #endif TEST_MAIN(int argc, char **argv, char **envp) { … }