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