diff options
-rw-r--r-- | include/gtest/gtest.h | 38 | ||||
-rw-r--r-- | include/gtest/internal/gtest-port.h | 2 | ||||
-rw-r--r-- | src/gtest-internal-inl.h | 35 | ||||
-rwxr-xr-x | test/gtest_output_test.py | 6 | ||||
-rw-r--r-- | test/gtest_unittest.cc | 32 |
5 files changed, 56 insertions, 57 deletions
diff --git a/include/gtest/gtest.h b/include/gtest/gtest.h index f543778..d15909b 100644 --- a/include/gtest/gtest.h +++ b/include/gtest/gtest.h @@ -346,6 +346,44 @@ class Test { GTEST_DISALLOW_COPY_AND_ASSIGN_(Test); }; +namespace internal { + +// A copyable object representing a user specified test property which can be +// output as a key/value string pair. +// +// Don't inherit from TestProperty as its destructor is not virtual. +class TestProperty { + public: + // C'tor. TestProperty does NOT have a default constructor. + // Always use this constructor (with parameters) to create a + // TestProperty object. + TestProperty(const char* key, const char* value) : + key_(key), value_(value) { + } + + // Gets the user supplied key. + const char* key() const { + return key_.c_str(); + } + + // Gets the user supplied value. + const char* value() const { + return value_.c_str(); + } + + // Sets a new value, overriding the one supplied in the constructor. + void SetValue(const char* new_value) { + value_ = new_value; + } + + private: + // The key supplied by the user. + String key_; + // The value supplied by the user. + String value_; +}; + +} // namespace internal // A TestInfo object stores the following information about a test: // diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h index e1a3597..886e2dd 100644 --- a/include/gtest/internal/gtest-port.h +++ b/include/gtest/internal/gtest-port.h @@ -177,7 +177,7 @@ // Determines the platform on which Google Test is compiled. #ifdef __CYGWIN__ #define GTEST_OS_CYGWIN 1 -#elif __SYMBIAN32__ +#elif defined __SYMBIAN32__ #define GTEST_OS_SYMBIAN 1 #elif defined _WIN32 #define GTEST_OS_WINDOWS 1 diff --git a/src/gtest-internal-inl.h b/src/gtest-internal-inl.h index 26d1bd1..94c9d7e 100644 --- a/src/gtest-internal-inl.h +++ b/src/gtest-internal-inl.h @@ -450,41 +450,6 @@ static void Delete(T * x) { delete x; } -// A copyable object representing a user specified test property which can be -// output as a key/value string pair. -// -// Don't inherit from TestProperty as its destructor is not virtual. -class TestProperty { - public: - // C'tor. TestProperty does NOT have a default constructor. - // Always use this constructor (with parameters) to create a - // TestProperty object. - TestProperty(const char* key, const char* value) : - key_(key), value_(value) { - } - - // Gets the user supplied key. - const char* key() const { - return key_.c_str(); - } - - // Gets the user supplied value. - const char* value() const { - return value_.c_str(); - } - - // Sets a new value, overriding the one supplied in the constructor. - void SetValue(const char* new_value) { - value_ = new_value; - } - - private: - // The key supplied by the user. - String key_; - // The value supplied by the user. - String value_; -}; - // A predicate that checks the key of a TestProperty against a known key. // // TestPropertyKeyIs is copyable. diff --git a/test/gtest_output_test.py b/test/gtest_output_test.py index 91cf915..c6ea0f8 100755 --- a/test/gtest_output_test.py +++ b/test/gtest_output_test.py @@ -185,7 +185,11 @@ def IterShellCommandOutput(env_cmd, stdin_string=None): old_env_vars = dict(os.environ) os.environ.update(env_cmd[0]) stdin_file, stdout_file = os.popen2(env_cmd[1], 'b') - os.environ.clear() + # Changes made by os.environ.clear are not inheritable by child processes + # until Python 2.6. To produce inheritable changes we have to delete + # environment items with the del statement. + for key in os.environ.keys(): + del os.environ[key] os.environ.update(old_env_vars) # If the caller didn't specify a string for STDIN, gets it from the diff --git a/test/gtest_unittest.cc b/test/gtest_unittest.cc index 878aa23..c6d5e0e 100644 --- a/test/gtest_unittest.cc +++ b/test/gtest_unittest.cc @@ -64,6 +64,7 @@ TEST(CommandLineFlagsTest, CanBeAccessedInCodeOnceGTestHIsIncluded) { #include "src/gtest-internal-inl.h" #undef GTEST_IMPLEMENTATION_ +#include <limits.h> // For INT_MAX. #include <stdlib.h> #include <time.h> @@ -71,15 +72,6 @@ TEST(CommandLineFlagsTest, CanBeAccessedInCodeOnceGTestHIsIncluded) { #include <pthread.h> #endif // GTEST_HAS_PTHREAD -#if GTEST_OS_LINUX -#include <string.h> -#include <signal.h> -#include <sys/stat.h> -#include <unistd.h> -#include <string> -#include <vector> -#endif // GTEST_OS_LINUX - #ifdef __BORLANDC__ #include <map> #endif @@ -784,7 +776,7 @@ TEST(StringTest, AnsiAndUtf16ConvertBasic) { EXPECT_STREQ("str", ansi); delete [] ansi; const WCHAR* utf16 = String::AnsiToUtf16("str"); - EXPECT_TRUE(wcsncmp(L"str", utf16, 3) == 0); + EXPECT_EQ(0, wcsncmp(L"str", utf16, 3)); delete [] utf16; } @@ -793,7 +785,7 @@ TEST(StringTest, AnsiAndUtf16ConvertPathChars) { EXPECT_STREQ(".:\\ \"*?", ansi); delete [] ansi; const WCHAR* utf16 = String::AnsiToUtf16(".:\\ \"*?"); - EXPECT_TRUE(wcsncmp(L".:\\ \"*?", utf16, 3) == 0); + EXPECT_EQ(0, wcsncmp(L".:\\ \"*?", utf16, 3)); delete [] utf16; } #endif // _WIN32_WCE @@ -3398,13 +3390,13 @@ TEST(AssertionSyntaxTest, BasicAssertionsBehavesLikeSingleStatement) { if (true) EXPECT_FALSE(false); else - ; + ; // NOLINT if (false) ASSERT_LT(1, 3); if (false) - ; + ; // NOLINT else EXPECT_GT(3, 2) << ""; } @@ -3431,7 +3423,7 @@ TEST(AssertionSyntaxTest, ExceptionAssertionsBehavesLikeSingleStatement) { if (true) EXPECT_THROW(ThrowAnInteger(), int); else - ; + ; // NOLINT if (false) EXPECT_NO_THROW(ThrowAnInteger()); @@ -3439,7 +3431,7 @@ TEST(AssertionSyntaxTest, ExceptionAssertionsBehavesLikeSingleStatement) { if (true) EXPECT_NO_THROW(ThrowNothing()); else - ; + ; // NOLINT if (false) EXPECT_ANY_THROW(ThrowNothing()); @@ -3447,7 +3439,7 @@ TEST(AssertionSyntaxTest, ExceptionAssertionsBehavesLikeSingleStatement) { if (true) EXPECT_ANY_THROW(ThrowAnInteger()); else - ; + ; // NOLINT } #endif // GTEST_HAS_EXCEPTIONS @@ -3456,20 +3448,20 @@ TEST(AssertionSyntaxTest, NoFatalFailureAssertionsBehavesLikeSingleStatement) { EXPECT_NO_FATAL_FAILURE(FAIL()) << "This should never be executed. " << "It's a compilation test only."; else - ; + ; // NOLINT if (false) ASSERT_NO_FATAL_FAILURE(FAIL()) << ""; else - ; + ; // NOLINT if (true) EXPECT_NO_FATAL_FAILURE(SUCCEED()); else - ; + ; // NOLINT if (false) - ; + ; // NOLINT else ASSERT_NO_FATAL_FAILURE(SUCCEED()); } |