| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2016-01-09 08:06:59 -08:00
										 |  |  |  Test main function. | 
					
						
							| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |  Copyright (c) 2012-2014, Victor Zverovich | 
					
						
							|  |  |  |  All rights reserved. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  Redistribution and use in source and binary forms, with or without | 
					
						
							|  |  |  |  modification, are permitted provided that the following conditions are met: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  1. Redistributions of source code must retain the above copyright notice, this | 
					
						
							|  |  |  |     list of conditions and the following disclaimer. | 
					
						
							|  |  |  |  2. Redistributions in binary form must reproduce the above copyright notice, | 
					
						
							|  |  |  |     this list of conditions and the following disclaimer in the documentation | 
					
						
							|  |  |  |     and/or other materials provided with the distribution. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | 
					
						
							|  |  |  |  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
					
						
							|  |  |  |  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
					
						
							|  |  |  |  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | 
					
						
							|  |  |  |  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
					
						
							|  |  |  |  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
					
						
							|  |  |  |  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 
					
						
							|  |  |  |  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
					
						
							|  |  |  |  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
					
						
							|  |  |  |  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-18 09:16:10 -07:00
										 |  |  | #include <cstdlib>
 | 
					
						
							| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  | #include <gtest/gtest.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef _WIN32
 | 
					
						
							| 
									
										
										
										
											2014-07-10 11:05:26 -07:00
										 |  |  | # include <windows.h>
 | 
					
						
							| 
									
										
										
										
											2015-03-16 18:05:45 -07:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef _MSC_VER
 | 
					
						
							| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  | # include <crtdbg.h>
 | 
					
						
							| 
									
										
										
										
											2015-03-16 18:05:45 -07:00
										 |  |  | #else
 | 
					
						
							|  |  |  | # define _CrtSetReportFile(a, b)
 | 
					
						
							|  |  |  | # define _CrtSetReportMode(a, b)
 | 
					
						
							| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int main(int argc, char **argv) { | 
					
						
							| 
									
										
										
										
											2014-08-23 10:25:21 -07:00
										 |  |  | #ifdef _WIN32
 | 
					
						
							| 
									
										
										
										
											2014-07-10 11:05:26 -07:00
										 |  |  |   // Don't display any error dialogs. This also suppresses message boxes
 | 
					
						
							|  |  |  |   // on assertion failures in MinGW where _set_error_mode/CrtSetReportMode
 | 
					
						
							|  |  |  |   // doesn't help.
 | 
					
						
							|  |  |  |   SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | | 
					
						
							|  |  |  |     SEM_NOOPENFILEERRORBOX); | 
					
						
							| 
									
										
										
										
											2015-03-16 18:05:45 -07:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  |   // Disable message boxes on assertion failures.
 | 
					
						
							|  |  |  |   _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); | 
					
						
							|  |  |  |   _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); | 
					
						
							|  |  |  |   _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); | 
					
						
							|  |  |  |   _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); | 
					
						
							| 
									
										
										
										
											2015-10-18 09:16:10 -07:00
										 |  |  |   try { | 
					
						
							| 
									
										
										
										
											2015-10-19 08:39:31 -07:00
										 |  |  |     testing::InitGoogleTest(&argc, argv); | 
					
						
							| 
									
										
										
										
											2015-10-18 09:16:10 -07:00
										 |  |  |     return RUN_ALL_TESTS(); | 
					
						
							|  |  |  |   } catch (...) { | 
					
						
							|  |  |  |     // Catch all exceptions to make Coverity happy.
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   return EXIT_FAILURE; | 
					
						
							| 
									
										
										
										
											2014-05-02 06:33:21 -07:00
										 |  |  | } |