| OLD | NEW |
| 1 diff --git a/CMakeLists.txt b/CMakeLists.txt | 1 diff --git a/CMakeLists.txt b/CMakeLists.txt |
| 2 --- a/CMakeLists.txt | 2 --- a/CMakeLists.txt |
| 3 +++ b/CMakeLists.txt | 3 +++ b/CMakeLists.txt |
| 4 @@ -162,14 +162,16 @@ if (gtest_build_tests) | 4 @@ -172,14 +172,16 @@ if (gtest_build_tests) |
| 5 cxx_test_with_flags(gtest_no_rtti_unittest "${cxx_no_rtti}" | 5 cxx_test_with_flags(gtest_no_rtti_unittest "${cxx_no_rtti}" |
| 6 gtest_main_no_rtti test/gtest_unittest.cc) | 6 gtest_main_no_rtti test/gtest_unittest.cc) |
| 7 | 7 |
| 8 - cxx_shared_library(gtest_dll "${cxx_default}" | 8 - cxx_shared_library(gtest_dll "${cxx_default}" |
| 9 - src/gtest-all.cc src/gtest_main.cc) | 9 - src/gtest-all.cc src/gtest_main.cc) |
| 10 + if (NOT NACL) | 10 + if (NOT NACL) |
| 11 + cxx_shared_library(gtest_dll "${cxx_default}" | 11 + cxx_shared_library(gtest_dll "${cxx_default}" |
| 12 + src/gtest-all.cc src/gtest_main.cc) | 12 + src/gtest-all.cc src/gtest_main.cc) |
| 13 | 13 |
| 14 - cxx_executable_with_flags(gtest_dll_test_ "${cxx_default}" | 14 - cxx_executable_with_flags(gtest_dll_test_ "${cxx_default}" |
| 15 - gtest_dll test/gtest_all_test.cc) | 15 - gtest_dll test/gtest_all_test.cc) |
| 16 - set_target_properties(gtest_dll_test_ | 16 - set_target_properties(gtest_dll_test_ |
| 17 - PROPERTIES | 17 - PROPERTIES |
| 18 - COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1") | 18 - COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1") |
| 19 + cxx_executable_with_flags(gtest_dll_test_ "${cxx_default}" | 19 + cxx_executable_with_flags(gtest_dll_test_ "${cxx_default}" |
| 20 + gtest_dll test/gtest_all_test.cc) | 20 + gtest_dll test/gtest_all_test.cc) |
| 21 + set_target_properties(gtest_dll_test_ | 21 + set_target_properties(gtest_dll_test_ |
| 22 + PROPERTIES | 22 + PROPERTIES |
| 23 + COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1
") | 23 + COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1
") |
| 24 + endif() | 24 + endif() |
| 25 | 25 |
| 26 if (NOT MSVC OR NOT MSVC_VERSION EQUAL 1600) | 26 if (NOT MSVC OR MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010. |
| 27 # The C++ Standard specifies tuple_element<int, class>. | 27 # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that |
| 28 diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-
port.h | |
| 29 --- a/include/gtest/internal/gtest-port.h | |
| 30 +++ b/include/gtest/internal/gtest-port.h | |
| 31 @@ -472,12 +472,12 @@ | |
| 32 // Determines whether Google Test can use the pthreads library. | |
| 33 #ifndef GTEST_HAS_PTHREAD | |
| 34 // The user didn't tell us explicitly, so we assume pthreads support is | |
| 35 -// available on Linux and Mac. | |
| 36 +// available on certain operating systems. | |
| 37 // | |
| 38 // To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0 | |
| 39 // to your compiler flags. | |
| 40 # define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX \ | |
| 41 - || GTEST_OS_QNX) | |
| 42 + || GTEST_OS_QNX || GTEST_OS_NACL) | |
| 43 #endif // GTEST_HAS_PTHREAD | |
| 44 | |
| 45 #if GTEST_HAS_PTHREAD | |
| 46 diff --git a/test/gtest-death-test_test.cc b/test/gtest-death-test_test.cc | 28 diff --git a/test/gtest-death-test_test.cc b/test/gtest-death-test_test.cc |
| 47 --- a/test/gtest-death-test_test.cc | 29 --- a/test/gtest-death-test_test.cc |
| 48 +++ b/test/gtest-death-test_test.cc | 30 +++ b/test/gtest-death-test_test.cc |
| 49 @@ -1288,6 +1288,7 @@ TEST(ConditionalDeathMacrosTest, AssertDeatDoesNotReturnhI
fUnsupported) { | 31 @@ -1303,6 +1303,7 @@ TEST(ConditionalDeathMacrosDeathTest, ExpectsDeathWhenDeat
hTestsAvailable) { |
| 50 EXPECT_EQ(1, n); | 32 EXPECT_FATAL_FAILURE(ASSERT_DEATH_IF_SUPPORTED(;, ""), ""); |
| 51 } | 33 } |
| 52 | 34 |
| 53 +#if 0 | 35 +#if 0 |
| 54 TEST(InDeathTestChildDeathTest, ReportsDeathTestCorrectlyInFastStyle) { | 36 TEST(InDeathTestChildDeathTest, ReportsDeathTestCorrectlyInFastStyle) { |
| 55 testing::GTEST_FLAG(death_test_style) = "fast"; | 37 testing::GTEST_FLAG(death_test_style) = "fast"; |
| 56 EXPECT_FALSE(InDeathTestChild()); | 38 EXPECT_FALSE(InDeathTestChild()); |
| 57 @@ -1307,6 +1308,7 @@ TEST(InDeathTestChildDeathTest, ReportsDeathTestCorrectlyI
nThreadSafeStyle) { | 39 @@ -1322,6 +1323,7 @@ TEST(InDeathTestChildDeathTest, ReportsDeathTestCorrectlyI
nThreadSafeStyle) { |
| 58 _exit(1); | 40 _exit(1); |
| 59 }, "Inside"); | 41 }, "Inside"); |
| 60 } | 42 } |
| 61 +#endif | 43 +#endif |
| 62 | 44 |
| 63 #endif // GTEST_HAS_DEATH_TEST | 45 #else // !GTEST_HAS_DEATH_TEST follows |
| 64 | 46 |
| 65 diff --git a/test/gtest-options_test.cc b/test/gtest-options_test.cc | 47 diff --git a/test/gtest-options_test.cc b/test/gtest-options_test.cc |
| 66 --- a/test/gtest-options_test.cc | 48 --- a/test/gtest-options_test.cc |
| 67 +++ b/test/gtest-options_test.cc | 49 +++ b/test/gtest-options_test.cc |
| 68 @@ -116,6 +116,7 @@ TEST(OutputFileHelpersTest, GetCurrentExecutableName) { | 50 @@ -116,6 +116,7 @@ TEST(OutputFileHelpersTest, GetCurrentExecutableName) { |
| 69 // Chandler Carruth's libtool replacement is ready. | 51 // Chandler Carruth's libtool replacement is ready. |
| 70 const bool success = | 52 const bool success = |
| 71 exe_str == "gtest-options_test" || | 53 exe_str == "gtest-options_test" || |
| 72 + exe_str == "gtest-options_test.nexe" || | 54 + exe_str == "gtest-options_test.nexe" || |
| 73 exe_str == "gtest_all_test" || | 55 exe_str == "gtest_all_test" || |
| 74 exe_str == "lt-gtest_all_test" || | 56 exe_str == "lt-gtest_all_test" || |
| 75 exe_str == "gtest_dll_test"; | 57 exe_str == "gtest_dll_test"; |
| 76 diff --git a/test/gtest-printers_test.cc b/test/gtest-printers_test.cc | 58 diff --git a/test/gtest-printers_test.cc b/test/gtest-printers_test.cc |
| 77 --- a/test/gtest-printers_test.cc | 59 --- a/test/gtest-printers_test.cc |
| 78 +++ b/test/gtest-printers_test.cc | 60 +++ b/test/gtest-printers_test.cc |
| 79 @@ -206,7 +206,9 @@ using ::testing::internal::UniversalPrint; | 61 @@ -959,6 +959,7 @@ TEST(PrintStlContainerTest, NestedContainer) { |
| 80 using ::testing::internal::UniversalPrinter; | |
| 81 using ::testing::internal::UniversalTersePrint; | |
| 82 using ::testing::internal::UniversalTersePrintTupleFieldsToStrings; | |
| 83 +#if 0 | |
| 84 using ::testing::internal::kReference; | |
| 85 +#endif | |
| 86 using ::testing::internal::string; | |
| 87 | |
| 88 #if GTEST_HAS_TR1_TUPLE | |
| 89 @@ -950,6 +952,7 @@ TEST(PrintStlContainerTest, NestedContainer) { | |
| 90 EXPECT_EQ("{ { 1, 2 }, { 3, 4, 5 } }", Print(v)); | 62 EXPECT_EQ("{ { 1, 2 }, { 3, 4, 5 } }", Print(v)); |
| 91 } | 63 } |
| 92 | 64 |
| 93 +#if 0 | 65 +#if 0 |
| 94 TEST(PrintStlContainerTest, OneDimensionalNativeArray) { | 66 TEST(PrintStlContainerTest, OneDimensionalNativeArray) { |
| 95 const int a[3] = { 1, 2, 3 }; | 67 const int a[3] = { 1, 2, 3 }; |
| 96 NativeArray<int> b(a, 3, kReference); | 68 NativeArray<int> b(a, 3, RelationToSourceReference()); |
| 97 @@ -961,6 +964,7 @@ TEST(PrintStlContainerTest, TwoDimensionalNativeArray) { | 69 @@ -970,6 +971,7 @@ TEST(PrintStlContainerTest, TwoDimensionalNativeArray) { |
| 98 NativeArray<int[3]> b(a, 2, kReference); | 70 NativeArray<int[3]> b(a, 2, RelationToSourceReference()); |
| 99 EXPECT_EQ("{ { 1, 2, 3 }, { 4, 5, 6 } }", Print(b)); | 71 EXPECT_EQ("{ { 1, 2, 3 }, { 4, 5, 6 } }", Print(b)); |
| 100 } | 72 } |
| 101 +#endif | 73 +#endif |
| 102 | 74 |
| 103 // Tests that a class named iterator isn't treated as a container. | 75 // Tests that a class named iterator isn't treated as a container. |
| 104 | 76 |
| 77 diff --git a/test/gtest_break_on_failure_unittest.py b/test/gtest_break_on_failu
re_unittest.py |
| 78 --- a/test/gtest_break_on_failure_unittest.py |
| 79 +++ b/test/gtest_break_on_failure_unittest.py |
| 80 @@ -136,6 +136,9 @@ class GTestBreakOnFailureUnitTest(gtest_test_utils.TestCase)
: |
| 81 |
| 82 SetEnvVar(BREAK_ON_FAILURE_ENV_VAR, None) |
| 83 |
| 84 + if gtest_test_utils.IS_NACL: |
| 85 + return |
| 86 + |
| 87 msg = ('when %s%s, an assertion failure in "%s" %s cause a seg-fault.' % |
| 88 (BREAK_ON_FAILURE_ENV_VAR, env_var_value_msg, ' '.join(command), |
| 89 should_or_not)) |
| 105 diff --git a/test/gtest_help_test.py b/test/gtest_help_test.py | 90 diff --git a/test/gtest_help_test.py b/test/gtest_help_test.py |
| 106 --- a/test/gtest_help_test.py | 91 --- a/test/gtest_help_test.py |
| 107 +++ b/test/gtest_help_test.py | 92 +++ b/test/gtest_help_test.py |
| 108 @@ -44,7 +44,8 @@ import re | 93 @@ -44,7 +44,8 @@ import re |
| 109 import gtest_test_utils | 94 import gtest_test_utils |
| 110 | 95 |
| 111 | 96 |
| 112 -IS_LINUX = os.name == 'posix' and os.uname()[0] == 'Linux' | 97 -IS_LINUX = os.name == 'posix' and os.uname()[0] == 'Linux' |
| 113 +IS_NACL = True | 98 +IS_NACL = True |
| 114 +IS_LINUX = not IS_NACL and (os.name == 'posix' and os.uname()[0] == 'Linux') | 99 +IS_LINUX = not IS_NACL and (os.name == 'posix' and os.uname()[0] == 'Linux') |
| 115 IS_WINDOWS = os.name == 'nt' | 100 IS_WINDOWS = os.name == 'nt' |
| 116 | 101 |
| 117 PROGRAM_PATH = gtest_test_utils.GetTestExecutablePath('gtest_help_test_') | 102 PROGRAM_PATH = gtest_test_utils.GetTestExecutablePath('gtest_help_test_') |
| 118 diff --git a/test/gtest_test_utils.py b/test/gtest_test_utils.py | 103 diff --git a/test/gtest_test_utils.py b/test/gtest_test_utils.py |
| 119 --- a/test/gtest_test_utils.py | 104 --- a/test/gtest_test_utils.py |
| 120 +++ b/test/gtest_test_utils.py | 105 +++ b/test/gtest_test_utils.py |
| 121 @@ -54,6 +54,7 @@ except: | 106 @@ -54,6 +54,7 @@ except: |
| 122 GTEST_OUTPUT_VAR_NAME = 'GTEST_OUTPUT' | 107 GTEST_OUTPUT_VAR_NAME = 'GTEST_OUTPUT' |
| 123 | 108 |
| 124 IS_WINDOWS = os.name == 'nt' | 109 IS_WINDOWS = os.name == 'nt' |
| 125 +IS_NACL = True | 110 +IS_NACL = True |
| 126 IS_CYGWIN = os.name == 'posix' and 'CYGWIN' in os.uname()[0] | 111 IS_CYGWIN = os.name == 'posix' and 'CYGWIN' in os.uname()[0] |
| 127 | 112 |
| 128 # The environment variable for specifying the path to the premature-exit file. | 113 # The environment variable for specifying the path to the premature-exit file. |
| 129 @@ -172,6 +173,8 @@ def GetTestExecutablePath(executable_name, build_dir=None): | 114 @@ -300,7 +301,8 @@ class Subprocess: |
| 130 executable_name)) | |
| 131 if (IS_WINDOWS or IS_CYGWIN) and not path.endswith('.exe'): | |
| 132 path += '.exe' | |
| 133 + if IS_NACL and not path.endswith('.sh'): | |
| 134 + path += '.sh' | |
| 135 | |
| 136 if not os.path.exists(path): | |
| 137 message = ( | |
| 138 @@ -300,7 +303,8 @@ class Subprocess: | |
| 139 else: | 115 else: |
| 140 self.terminated_by_signal = False | 116 self.terminated_by_signal = False |
| 141 self.exited = True | 117 self.exited = True |
| 142 - self.exit_code = self._return_code | 118 - self.exit_code = self._return_code |
| 143 + | 119 + |
| 144 + self.exit_code = self._return_code | 120 + self.exit_code = self._return_code |
| 145 | 121 |
| 146 | 122 |
| 147 def Main(): | 123 def Main(): |
| 148 diff --git a/test/gtest_unittest.cc b/test/gtest_unittest.cc | 124 diff --git a/test/gtest_unittest.cc b/test/gtest_unittest.cc |
| 149 --- a/test/gtest_unittest.cc | 125 --- a/test/gtest_unittest.cc |
| 150 +++ b/test/gtest_unittest.cc | 126 +++ b/test/gtest_unittest.cc |
| 151 @@ -281,9 +281,13 @@ using testing::internal::TestEventListenersAccessor; | 127 @@ -7608,6 +7608,7 @@ TEST(CopyArrayTest, WorksForTwoDimensionalArrays) { |
| 152 using testing::internal::TestResultAccessor; | |
| 153 using testing::internal::UInt32; | |
| 154 using testing::internal::WideStringToUtf8; | |
| 155 +#if 0 | |
| 156 using testing::internal::kCopy; | |
| 157 +#endif | |
| 158 using testing::internal::kMaxRandomSeed; | |
| 159 +#if 0 | |
| 160 using testing::internal::kReference; | |
| 161 +#endif | |
| 162 using testing::internal::kTestTypeIdInGoogleTest; | |
| 163 using testing::internal::scoped_ptr; | |
| 164 | |
| 165 @@ -7325,6 +7329,7 @@ TEST(CopyArrayTest, WorksForTwoDimensionalArrays) { | |
| 166 | 128 |
| 167 // Tests NativeArray. | 129 // Tests NativeArray. |
| 168 | 130 |
| 169 +#if 0 | 131 +#if 0 |
| 170 TEST(NativeArrayTest, ConstructorFromArrayWorks) { | 132 TEST(NativeArrayTest, ConstructorFromArrayWorks) { |
| 171 const int a[3] = { 0, 1, 2 }; | 133 const int a[3] = { 0, 1, 2 }; |
| 172 NativeArray<int> na(a, 3, kReference); | 134 NativeArray<int> na(a, 3, RelationToSourceReference()); |
| 173 @@ -7346,6 +7351,7 @@ TEST(NativeArrayTest, CreatesAndDeletesCopyOfArrayWhenAske
dTo) { | 135 @@ -7629,6 +7630,7 @@ TEST(NativeArrayTest, CreatesAndDeletesCopyOfArrayWhenAske
dTo) { |
| 174 // We rely on the heap checker to verify that na deletes the copy of | 136 // We rely on the heap checker to verify that na deletes the copy of |
| 175 // array. | 137 // array. |
| 176 } | 138 } |
| 177 +#endif | 139 +#endif |
| 178 | 140 |
| 179 TEST(NativeArrayTest, TypeMembersAreCorrect) { | 141 TEST(NativeArrayTest, TypeMembersAreCorrect) { |
| 180 StaticAssertTypeEq<char, NativeArray<char>::value_type>(); | 142 StaticAssertTypeEq<char, NativeArray<char>::value_type>(); |
| 181 @@ -7355,6 +7361,7 @@ TEST(NativeArrayTest, TypeMembersAreCorrect) { | 143 @@ -7638,6 +7640,7 @@ TEST(NativeArrayTest, TypeMembersAreCorrect) { |
| 182 StaticAssertTypeEq<const bool(*)[2], NativeArray<bool[2]>::const_iterator>(); | 144 StaticAssertTypeEq<const bool(*)[2], NativeArray<bool[2]>::const_iterator>(); |
| 183 } | 145 } |
| 184 | 146 |
| 185 +#if 0 | 147 +#if 0 |
| 186 TEST(NativeArrayTest, MethodsWork) { | 148 TEST(NativeArrayTest, MethodsWork) { |
| 187 const int a[3] = { 0, 1, 2 }; | 149 const int a[3] = { 0, 1, 2 }; |
| 188 NativeArray<int> na(a, 3, kCopy); | 150 NativeArray<int> na(a, 3, RelationToSourceCopy()); |
| 189 @@ -7387,6 +7394,7 @@ TEST(NativeArrayTest, WorksForTwoDimensionalArray) { | 151 @@ -7670,6 +7673,7 @@ TEST(NativeArrayTest, WorksForTwoDimensionalArray) { |
| 190 ASSERT_EQ(2U, na.size()); | 152 ASSERT_EQ(2U, na.size()); |
| 191 EXPECT_EQ(a, na.begin()); | 153 EXPECT_EQ(a, na.begin()); |
| 192 } | 154 } |
| 193 +#endif | 155 +#endif |
| 194 | 156 |
| 195 // Tests SkipPrefix(). | 157 // Tests SkipPrefix(). |
| 196 | 158 |
| 159 diff --git a/test/gtest_xml_outfiles_test.py b/test/gtest_xml_outfiles_test.py |
| 160 --- a/test/gtest_xml_outfiles_test.py |
| 161 +++ b/test/gtest_xml_outfiles_test.py |
| 162 @@ -108,12 +108,13 @@ class GTestXMLOutFilesTest(gtest_xml_test_utils.GTestXMLTe
stCase): |
| 163 # gtest_xml_outfiles_test_. To account for this possibillity, we |
| 164 # allow both names in the following code. We should remove this |
| 165 # hack when Chandler Carruth's libtool replacement tool is ready. |
| 166 - output_file_name1 = test_name + ".xml" |
| 167 + output_file_name1 = test_name + ".nexe.xml" |
| 168 output_file1 = os.path.join(self.output_dir_, output_file_name1) |
| 169 output_file_name2 = 'lt-' + output_file_name1 |
| 170 output_file2 = os.path.join(self.output_dir_, output_file_name2) |
| 171 self.assert_(os.path.isfile(output_file1) or os.path.isfile(output_file2), |
| 172 - output_file1) |
| 173 + "Nither output file exists (%s %s)" % (output_file1, |
| 174 + output_file2)) |
| 175 |
| 176 expected = minidom.parseString(expected_xml) |
| 177 if os.path.isfile(output_file1): |
| OLD | NEW |