Adds Solaris support (by Hady Zalek)
This commit is contained in:
		@@ -159,8 +159,11 @@ INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, MyTypes);
 | 
			
		||||
// given test case.
 | 
			
		||||
#define GTEST_TYPE_PARAMS_(TestCaseName) gtest_type_params_##TestCaseName##_
 | 
			
		||||
 | 
			
		||||
// The 'Types' template argument below must have spaces around it
 | 
			
		||||
// since some compilers may choke on '>>' when passing a template
 | 
			
		||||
// instance (e.g. Types<int>)
 | 
			
		||||
#define TYPED_TEST_CASE(CaseName, Types) \
 | 
			
		||||
  typedef ::testing::internal::TypeList<Types>::type \
 | 
			
		||||
  typedef ::testing::internal::TypeList< Types >::type \
 | 
			
		||||
      GTEST_TYPE_PARAMS_(CaseName)
 | 
			
		||||
 | 
			
		||||
#define TYPED_TEST(CaseName, TestName) \
 | 
			
		||||
@@ -241,11 +244,14 @@ INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, MyTypes);
 | 
			
		||||
      GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).VerifyRegisteredTestNames(\
 | 
			
		||||
          __FILE__, __LINE__, #__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
// The 'Types' template argument below must have spaces around it
 | 
			
		||||
// since some compilers may choke on '>>' when passing a template
 | 
			
		||||
// instance (e.g. Types<int>)
 | 
			
		||||
#define INSTANTIATE_TYPED_TEST_CASE_P(Prefix, CaseName, Types) \
 | 
			
		||||
  bool gtest_##Prefix##_##CaseName = \
 | 
			
		||||
      ::testing::internal::TypeParameterizedTestCase<CaseName, \
 | 
			
		||||
          GTEST_CASE_NAMESPACE_(CaseName)::gtest_AllTests_, \
 | 
			
		||||
          ::testing::internal::TypeList<Types>::type>::Register(\
 | 
			
		||||
          ::testing::internal::TypeList< Types >::type>::Register(\
 | 
			
		||||
              #Prefix, #CaseName, GTEST_REGISTERED_TEST_NAMES_(CaseName))
 | 
			
		||||
 | 
			
		||||
#endif  // GTEST_HAS_TYPED_TEST_P
 | 
			
		||||
 
 | 
			
		||||
@@ -42,6 +42,8 @@
 | 
			
		||||
//
 | 
			
		||||
//   GTEST_HAS_CLONE          - Define it to 1/0 to indicate that clone(2)
 | 
			
		||||
//                              is/isn't available.
 | 
			
		||||
//   GTEST_HAS_EXCEPTIONS     - Define it to 1/0 to indicate that exceptions
 | 
			
		||||
//                              are enabled.
 | 
			
		||||
//   GTEST_HAS_GLOBAL_STRING  - Define it to 1/0 to indicate that ::string
 | 
			
		||||
//                              is/isn't available (some systems define
 | 
			
		||||
//                              ::string, which is different to std::string).
 | 
			
		||||
@@ -242,9 +244,9 @@
 | 
			
		||||
#endif  // GTEST_OS_CYGWIN || GTEST_OS_LINUX || GTEST_OS_MAC ||
 | 
			
		||||
        // GTEST_OS_SYMBIAN || GTEST_OS_SOLARIS
 | 
			
		||||
 | 
			
		||||
// Defines GTEST_HAS_EXCEPTIONS to 1 if exceptions are enabled, or 0
 | 
			
		||||
// otherwise.
 | 
			
		||||
 | 
			
		||||
#ifndef GTEST_HAS_EXCEPTIONS
 | 
			
		||||
// The user didn't tell us whether exceptions are enabled, so we need
 | 
			
		||||
// to figure it out.
 | 
			
		||||
#if defined(_MSC_VER) || defined(__BORLANDC__)
 | 
			
		||||
// MSVC's and C++Builder's implementations of the STL use the _HAS_EXCEPTIONS
 | 
			
		||||
// macro to enable exceptions, so we'll do the same.
 | 
			
		||||
@@ -253,16 +255,20 @@
 | 
			
		||||
#define _HAS_EXCEPTIONS 1
 | 
			
		||||
#endif  // _HAS_EXCEPTIONS
 | 
			
		||||
#define GTEST_HAS_EXCEPTIONS _HAS_EXCEPTIONS
 | 
			
		||||
#else  // The compiler is not MSVC or C++Builder.
 | 
			
		||||
// gcc defines __EXCEPTIONS to 1 iff exceptions are enabled.  For
 | 
			
		||||
// other compilers, we assume exceptions are disabled to be
 | 
			
		||||
// conservative.
 | 
			
		||||
#if defined(__GNUC__) && __EXCEPTIONS
 | 
			
		||||
#elif defined(__GNUC__) && __EXCEPTIONS
 | 
			
		||||
// gcc defines __EXCEPTIONS to 1 iff exceptions are enabled.
 | 
			
		||||
#define GTEST_HAS_EXCEPTIONS 1
 | 
			
		||||
#elif defined(__SUNPRO_CC)
 | 
			
		||||
// Sun Pro CC supports exceptions.  However, there is no compile-time way of
 | 
			
		||||
// detecting whether they are enabled or not.  Therefore, we assume that
 | 
			
		||||
// they are enabled unless the user tells us otherwise.
 | 
			
		||||
#define GTEST_HAS_EXCEPTIONS 1
 | 
			
		||||
#else
 | 
			
		||||
// For other compilers, we assume exceptions are disabled to be
 | 
			
		||||
// conservative.
 | 
			
		||||
#define GTEST_HAS_EXCEPTIONS 0
 | 
			
		||||
#endif  // defined(__GNUC__) && __EXCEPTIONS
 | 
			
		||||
#endif  // defined(_MSC_VER) || defined(__BORLANDC__)
 | 
			
		||||
#endif  // GTEST_HAS_EXCEPTIONS
 | 
			
		||||
 | 
			
		||||
#if !defined(GTEST_HAS_STD_STRING)
 | 
			
		||||
// Even though we don't use this macro any longer, we keep it in case
 | 
			
		||||
@@ -340,7 +346,7 @@
 | 
			
		||||
// Determines whether <pthread.h> is available.
 | 
			
		||||
#ifndef GTEST_HAS_PTHREAD
 | 
			
		||||
// The user didn't tell us, so we need to figure it out.
 | 
			
		||||
#define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC)
 | 
			
		||||
#define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_SOLARIS)
 | 
			
		||||
#endif  // GTEST_HAS_PTHREAD
 | 
			
		||||
 | 
			
		||||
// Determines whether Google Test can use tr1/tuple.  You can define
 | 
			
		||||
@@ -446,7 +452,7 @@
 | 
			
		||||
// Google Test does not support death tests for VC 7.1 and earlier as
 | 
			
		||||
// abort() in a VC 7.1 application compiled as GUI in debug config
 | 
			
		||||
// pops up a dialog window that cannot be suppressed programmatically.
 | 
			
		||||
#if (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_CYGWIN || \
 | 
			
		||||
#if (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \
 | 
			
		||||
     (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || GTEST_OS_WINDOWS_MINGW)
 | 
			
		||||
#define GTEST_HAS_DEATH_TEST 1
 | 
			
		||||
#include <vector>  // NOLINT
 | 
			
		||||
@@ -462,12 +468,12 @@
 | 
			
		||||
 | 
			
		||||
// Determines whether to support type-driven tests.
 | 
			
		||||
 | 
			
		||||
// Typed tests need <typeinfo> and variadic macros, which gcc and VC
 | 
			
		||||
// 8.0+ support.
 | 
			
		||||
#if defined(__GNUC__) || (_MSC_VER >= 1400)
 | 
			
		||||
// Typed tests need <typeinfo> and variadic macros, which GCC, VC++ 8.0, and
 | 
			
		||||
// Sun Pro CC support.
 | 
			
		||||
#if defined(__GNUC__) || (_MSC_VER >= 1400) || defined(__SUNPRO_CC)
 | 
			
		||||
#define GTEST_HAS_TYPED_TEST 1
 | 
			
		||||
#define GTEST_HAS_TYPED_TEST_P 1
 | 
			
		||||
#endif  // defined(__GNUC__) || (_MSC_VER >= 1400)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Determines whether to support Combine(). This only makes sense when
 | 
			
		||||
// value-parameterized tests are enabled.
 | 
			
		||||
@@ -923,7 +929,7 @@ inline const char* GetEnv(const char* name) {
 | 
			
		||||
#if GTEST_OS_WINDOWS_MOBILE
 | 
			
		||||
  // We are on Windows CE, which has no environment variables.
 | 
			
		||||
  return NULL;
 | 
			
		||||
#elif defined(__BORLANDC__)
 | 
			
		||||
#elif defined(__BORLANDC__) || defined(__SunOS_5_8) || defined(__SunOS_5_9)
 | 
			
		||||
  // Environment variables which we programmatically clear will be set to the
 | 
			
		||||
  // empty string rather than unset (NULL).  Handle that case.
 | 
			
		||||
  const char* const env = getenv(name);
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,8 @@
 | 
			
		||||
// tuple template as a friend (it complains that tuple is redefined).  This
 | 
			
		||||
// hack bypasses the bug by declaring the members that should otherwise be
 | 
			
		||||
// private as public.
 | 
			
		||||
#if defined(__SYMBIAN32__)
 | 
			
		||||
// Sun Studio versions < 12 also have the above bug.
 | 
			
		||||
#if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590)
 | 
			
		||||
#define GTEST_DECLARE_TUPLE_AS_FRIEND_ public:
 | 
			
		||||
#else
 | 
			
		||||
#define GTEST_DECLARE_TUPLE_AS_FRIEND_ \
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,8 @@ $$ This meta comment fixes auto-indentation in Emacs. }}
 | 
			
		||||
// tuple template as a friend (it complains that tuple is redefined).  This
 | 
			
		||||
// hack bypasses the bug by declaring the members that should otherwise be
 | 
			
		||||
// private as public.
 | 
			
		||||
#if defined(__SYMBIAN32__)
 | 
			
		||||
// Sun Studio versions < 12 also have the above bug.
 | 
			
		||||
#if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590)
 | 
			
		||||
#define GTEST_DECLARE_TUPLE_AS_FRIEND_ public:
 | 
			
		||||
#else
 | 
			
		||||
#define GTEST_DECLARE_TUPLE_AS_FRIEND_ \
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user