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 Workerint 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