xref: /aosp_15_r20/external/fmtlib/test/test-main.cc (revision 5c90c05cd622c0a81b57953a4d343e0e489f2e08)
1*5c90c05cSAndroid Build Coastguard Worker // Formatting library for C++ - test main function.
2*5c90c05cSAndroid Build Coastguard Worker //
3*5c90c05cSAndroid Build Coastguard Worker // Copyright (c) 2012 - present, Victor Zverovich
4*5c90c05cSAndroid Build Coastguard Worker // All rights reserved.
5*5c90c05cSAndroid Build Coastguard Worker //
6*5c90c05cSAndroid Build Coastguard Worker // For the license information refer to format.h.
7*5c90c05cSAndroid Build Coastguard Worker 
8*5c90c05cSAndroid Build Coastguard Worker #include <cstdlib>
9*5c90c05cSAndroid Build Coastguard Worker 
10*5c90c05cSAndroid Build Coastguard Worker #include "gtest/gtest.h"
11*5c90c05cSAndroid Build Coastguard Worker 
12*5c90c05cSAndroid Build Coastguard Worker #ifdef _WIN32
13*5c90c05cSAndroid Build Coastguard Worker #  include <windows.h>
14*5c90c05cSAndroid Build Coastguard Worker #endif
15*5c90c05cSAndroid Build Coastguard Worker 
16*5c90c05cSAndroid Build Coastguard Worker #ifdef _MSC_VER
17*5c90c05cSAndroid Build Coastguard Worker #  include <crtdbg.h>
18*5c90c05cSAndroid Build Coastguard Worker #endif
19*5c90c05cSAndroid Build Coastguard Worker 
main(int argc,char ** argv)20*5c90c05cSAndroid Build Coastguard Worker int main(int argc, char** argv) {
21*5c90c05cSAndroid Build Coastguard Worker #ifdef _WIN32
22*5c90c05cSAndroid Build Coastguard Worker   // Don't display any error dialogs. This also suppresses message boxes
23*5c90c05cSAndroid Build Coastguard Worker   // on assertion failures in MinGW where _set_error_mode/CrtSetReportMode
24*5c90c05cSAndroid Build Coastguard Worker   // doesn't help.
25*5c90c05cSAndroid Build Coastguard Worker   SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX |
26*5c90c05cSAndroid Build Coastguard Worker                SEM_NOOPENFILEERRORBOX);
27*5c90c05cSAndroid Build Coastguard Worker #endif
28*5c90c05cSAndroid Build Coastguard Worker #ifdef _MSC_VER
29*5c90c05cSAndroid Build Coastguard Worker   // Disable message boxes on assertion failures.
30*5c90c05cSAndroid Build Coastguard Worker   _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
31*5c90c05cSAndroid Build Coastguard Worker   _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
32*5c90c05cSAndroid Build Coastguard Worker   _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
33*5c90c05cSAndroid Build Coastguard Worker   _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
34*5c90c05cSAndroid Build Coastguard Worker #endif
35*5c90c05cSAndroid Build Coastguard Worker   try {
36*5c90c05cSAndroid Build Coastguard Worker     testing::InitGoogleTest(&argc, argv);
37*5c90c05cSAndroid Build Coastguard Worker     testing::FLAGS_gtest_death_test_style = "threadsafe";
38*5c90c05cSAndroid Build Coastguard Worker     return RUN_ALL_TESTS();
39*5c90c05cSAndroid Build Coastguard Worker   } catch (...) {
40*5c90c05cSAndroid Build Coastguard Worker     // Catch all exceptions to make Coverity happy.
41*5c90c05cSAndroid Build Coastguard Worker   }
42*5c90c05cSAndroid Build Coastguard Worker   return EXIT_FAILURE;
43*5c90c05cSAndroid Build Coastguard Worker }
44