Commits

Anonymous committed 752c403

Makes the autotools scripts work on Mac OS X. Also hopefully makes gtest compile on Windows CE.

git-svn-id: http://googletest.googlecode.com/svn/trunk@54861a406c-534a-0410-8894-cb66d6ee9925

Comments (0)

Files changed (10)

include/gtest/gtest-message.h

 #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 <gtest/internal/gtest-string.h>
 #include <gtest/internal/gtest-internal.h>
-#endif  // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE)
 
 namespace testing {
 

include/gtest/gtest.h

 // 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 <gtest/internal/gtest-internal.h>
 #include <gtest/internal/gtest-string.h>
 #include <gtest/gtest-death-test.h>
 #include <gtest/gtest-message.h>
 #include <gtest/gtest_prod.h>
-#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
 
 // 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 <gtest/gtest_pred_impl.h>
-#endif  // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE)
 
 // Macros for testing equalities and inequalities.
 //

include/gtest/internal/gtest-filepath.h

 #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 <gtest/internal/gtest-string.h>
-#endif  // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE)
-
 
 namespace testing {
 namespace internal {

include/gtest/internal/gtest-internal.h

 #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 <gtest/internal/gtest-port.h>
-#endif  // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE)
 
 #ifdef GTEST_OS_LINUX
 #include <stdlib.h>
 #include <iomanip>  // NOLINT
 #include <limits>   // 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 <gtest/internal/gtest-string.h>
 #include <gtest/internal/gtest-filepath.h>
-#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

include/gtest/internal/gtest-port.h

 //   Int32FromGTestEnv()  - parses an Int32 environment variable.
 //   StringFromGTestEnv() - parses a string environment variable.
 
-#include <sys/types.h>
-
 #include <stdlib.h>
 #include <stdio.h>
 
 #if GTEST_HAS_STD_STRING && defined(GTEST_OS_LINUX)
 #define GTEST_HAS_DEATH_TEST
 // On some platforms, <regex.h> needs someone to define size_t, and
-// won't compile if being #included first.  Therefore it's important
-// that we #include it after <sys/types.h>.
+// won't compile otherwise.  We can #include it here as we already
+// included <stdlib.h>, which is guaranteed to define size_t through
+// <stddef.h>.
 #include <regex.h>
 #include <vector>
 #include <fcntl.h>

include/gtest/internal/gtest-string.h

 #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_
 
 #include <string.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 <gtest/internal/gtest-port.h>
-#endif  // defined(__APPLE__) && !defined(GTEST_NOT_MAC_FRAMEWORK_MODE)
 
 namespace testing {
 namespace internal {

test/gtest_output_test.py

   """
 
   # Disables exception pop-ups on Windows.
-  os.environ['GUNIT_CATCH_EXCEPTIONS'] = '1'
+  os.environ['GTEST_CATCH_EXCEPTIONS'] = '1'
   return NormalizeOutput(GetShellCommandOutput(cmd, ''))
 
 

test/gtest_output_test_golden_win.txt

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

test/gtest_repeat_test.cc

 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.

test/gtest_uninitialized_test.py

 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)