From e4e9a8bd7d2dbbad62030c8f80513e3c81b32213 Mon Sep 17 00:00:00 2001 From: shiqian Date: Tue, 8 Jul 2008 21:32:17 +0000 Subject: Makes the autotools scripts work on Mac OS X. Also hopefully makes gtest compile on Windows CE. --- include/gtest/gtest-message.h | 12 ------------ include/gtest/gtest.h | 26 -------------------------- include/gtest/internal/gtest-filepath.h | 12 ------------ include/gtest/internal/gtest-internal.h | 23 ----------------------- include/gtest/internal/gtest-port.h | 7 +++---- include/gtest/internal/gtest-string.h | 12 ------------ test/gtest_output_test.py | 2 +- test/gtest_output_test_golden_win.txt | 20 ++++++++++---------- test/gtest_repeat_test.cc | 2 ++ test/gtest_uninitialized_test.py | 11 +++++++++-- 10 files changed, 25 insertions(+), 102 deletions(-) diff --git a/include/gtest/gtest-message.h b/include/gtest/gtest-message.h index 746a168..b1d646f 100644 --- a/include/gtest/gtest-message.h +++ b/include/gtest/gtest-message.h @@ -46,20 +46,8 @@ #ifndef GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ #define GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes will be -// in the framework headers folder along with gtest.h. -// Define GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on -// the Mac and are not using it as a framework. -// More info on frameworks available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest-string.h" // NOLINT -#include "gtest-internal.h" // NOLINT -#else #include #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) namespace testing { diff --git a/include/gtest/gtest.h b/include/gtest/gtest.h index 8e857c8..2464f72 100644 --- a/include/gtest/gtest.h +++ b/include/gtest/gtest.h @@ -62,26 +62,11 @@ // Windows proper with Visual C++ and MS C library (_MSC_VER && !_WIN32_WCE) and // Windows Mobile with Visual C++ and no C library (_WIN32_WCE). -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes -// will be in the framework headers folder along with gtest.h. Define -// GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on the -// Mac and are not using it as a framework. More info on frameworks -// available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest-death-test.h" // NOLINT -#include "gtest-internal.h" // NOLINT -#include "gtest-message.h" // NOLINT -#include "gtest-string.h" // NOLINT -#include "gtest_prod.h" // NOLINT -#else #include #include #include #include #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) // Depending on the platform, different string classes are available. // On Windows, ::std::string compiles only when exceptions are @@ -964,18 +949,7 @@ class AssertHelper { // Includes the auto-generated header that implements a family of // generic predicate assertion macros. -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes will be -// in the framework headers folder along with gtest.h. -// Define GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on -// the Mac and are not using it as a framework. -// More info on frameworks available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest_pred_impl.h" // NOLINT -#else #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) // Macros for testing equalities and inequalities. // diff --git a/include/gtest/internal/gtest-filepath.h b/include/gtest/internal/gtest-filepath.h index 6f63718..308a2c6 100644 --- a/include/gtest/internal/gtest-filepath.h +++ b/include/gtest/internal/gtest-filepath.h @@ -40,19 +40,7 @@ #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes will be -// in the framework headers folder along with gtest.h. -// Define GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on -// the Mac and are not using it as a framework. -// More info on frameworks available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest-string.h" // NOLINT -#else #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) - namespace testing { namespace internal { diff --git a/include/gtest/internal/gtest-internal.h b/include/gtest/internal/gtest-internal.h index 2be1b4a..0054bae 100644 --- a/include/gtest/internal/gtest-internal.h +++ b/include/gtest/internal/gtest-internal.h @@ -37,18 +37,7 @@ #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes will be -// in the framework headers folder along with gtest.h. -// Define GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on -// the Mac and are not using it as a framework. -// More info on frameworks available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest-port.h" // NOLINT -#else #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) #ifdef GTEST_OS_LINUX #include @@ -60,20 +49,8 @@ #include // NOLINT #include // NOLINT -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes will be -// in the framework headers folder along with gtest.h. -// Define GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on -// the Mac and are not using it as a framework. -// More info on frameworks available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest-string.h" // NOLINT -#include "gtest-filepath.h" // NOLINT -#else #include #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) // Due to C++ preprocessor weirdness, we need double indirection to // concatenate two tokens when one of them is __LINE__. Writing diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h index d441b21..4ba6d55 100644 --- a/include/gtest/internal/gtest-port.h +++ b/include/gtest/internal/gtest-port.h @@ -124,8 +124,6 @@ // Int32FromGTestEnv() - parses an Int32 environment variable. // StringFromGTestEnv() - parses a string environment variable. -#include - #include #include @@ -215,8 +213,9 @@ #if GTEST_HAS_STD_STRING && defined(GTEST_OS_LINUX) #define GTEST_HAS_DEATH_TEST // On some platforms, needs someone to define size_t, and -// won't compile if being #included first. Therefore it's important -// that we #include it after . +// won't compile otherwise. We can #include it here as we already +// included , which is guaranteed to define size_t through +// . #include #include #include diff --git a/include/gtest/internal/gtest-string.h b/include/gtest/internal/gtest-string.h index 3d20c0f..b5a303f 100644 --- a/include/gtest/internal/gtest-string.h +++ b/include/gtest/internal/gtest-string.h @@ -42,19 +42,7 @@ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ #include - -#if defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) -// When using Google Test on the Mac as a framework, all the includes will be -// in the framework headers folder along with gtest.h. -// Define GTEST_NOT_MAC_FRAMEWORK_MODE if you are building Google Test on -// the Mac and are not using it as a framework. -// More info on frameworks available here: -// http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/ -// Concepts/WhatAreFrameworks.html. -#include "gtest-port.h" // NOLINT -#else #include -#endif // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE) namespace testing { namespace internal { diff --git a/test/gtest_output_test.py b/test/gtest_output_test.py index 0fea034..7ecb4d1 100755 --- a/test/gtest_output_test.py +++ b/test/gtest_output_test.py @@ -158,7 +158,7 @@ def GetCommandOutput(cmd): """ # Disables exception pop-ups on Windows. - os.environ['GUNIT_CATCH_EXCEPTIONS'] = '1' + os.environ['GTEST_CATCH_EXCEPTIONS'] = '1' return NormalizeOutput(GetShellCommandOutput(cmd, '')) diff --git a/test/gtest_output_test_golden_win.txt b/test/gtest_output_test_golden_win.txt index e72577d..87d1a6a 100644 --- a/test/gtest_output_test_golden_win.txt +++ b/test/gtest_output_test_golden_win.txt @@ -54,7 +54,7 @@ This failure is expected, and shouldn't have a trace. gtest_output_test_.cc:#: Failure Failed This failure is expected, and should have a trace. -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: Expected trace gtest_output_test_.cc:#: Failure Failed @@ -66,13 +66,13 @@ gtest_output_test_.cc:#: Failure Value of: n Actual: 1 Expected: 2 -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: i = 1 gtest_output_test_.cc:#: Failure Value of: n Actual: 2 Expected: 1 -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: i = 2 [ FAILED ] SCOPED_TRACETest.WorksInLoop [ RUN ] SCOPED_TRACETest.WorksInSubroutine @@ -81,13 +81,13 @@ gtest_output_test_.cc:#: Failure Value of: n Actual: 1 Expected: 2 -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: n = 1 gtest_output_test_.cc:#: Failure Value of: n Actual: 2 Expected: 1 -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: n = 2 [ FAILED ] SCOPED_TRACETest.WorksInSubroutine [ RUN ] SCOPED_TRACETest.CanBeNested @@ -96,7 +96,7 @@ gtest_output_test_.cc:#: Failure Value of: n Actual: 2 Expected: 1 -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: n = 2 gtest_output_test_.cc:#: [ FAILED ] SCOPED_TRACETest.CanBeNested @@ -105,25 +105,25 @@ gtest_output_test_.cc:#: gtest_output_test_.cc:#: Failure Failed This failure is expected, and should contain trace point A. -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: A gtest_output_test_.cc:#: Failure Failed This failure is expected, and should contain trace point A and B. -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: B gtest_output_test_.cc:#: A gtest_output_test_.cc:#: Failure Failed This failure is expected, and should contain trace point A, B, and C. -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: C gtest_output_test_.cc:#: B gtest_output_test_.cc:#: A gtest_output_test_.cc:#: Failure Failed This failure is expected, and should contain trace point A, B, and D. -gUnit trace: +Google Test trace: gtest_output_test_.cc:#: D gtest_output_test_.cc:#: B gtest_output_test_.cc:#: A diff --git a/test/gtest_repeat_test.cc b/test/gtest_repeat_test.cc index 056e6cc..fa52442 100644 --- a/test/gtest_repeat_test.cc +++ b/test/gtest_repeat_test.cc @@ -110,11 +110,13 @@ int g_death_test_count = 0; TEST(BarDeathTest, ThreadSafeAndFast) { g_death_test_count++; +#ifdef GTEST_HAS_DEATH_TEST GTEST_FLAG(death_test_style) = "threadsafe"; EXPECT_DEATH(abort(), ""); GTEST_FLAG(death_test_style) = "fast"; EXPECT_DEATH(abort(), ""); +#endif // GTEST_HAS_DEATH_TEST } // Resets the count for each test. diff --git a/test/gtest_uninitialized_test.py b/test/gtest_uninitialized_test.py index 1956a7b..d553bbf 100755 --- a/test/gtest_uninitialized_test.py +++ b/test/gtest_uninitialized_test.py @@ -80,8 +80,15 @@ def GetOutput(command): def TestExitCodeAndOutput(command): """Runs the given command and verifies its exit code and output.""" - # 256 corresponds to return code 0. - AssertEq(256, os.system(command)) + # Verifies that 'command' exits with code 1. + if IS_WINDOWS: + # On Windows, os.system(command) returns the exit code of 'command'. + AssertEq(1, os.system(command)) + else: + # On Unix-like system, os.system(command) returns 256 times the + # exit code of 'command'. + AssertEq(256, os.system(command)) + output = GetOutput(command) Assert('InitGoogleTest' in output) -- cgit v0.12