| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #define _CRT_SECURE_NO_WARNINGS | 5 #define _CRT_SECURE_NO_WARNINGS |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/eintr_wrapper.h" | 10 #include "base/eintr_wrapper.h" |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 TEST_F(ProcessUtilTest, GetProcId) { | 177 TEST_F(ProcessUtilTest, GetProcId) { |
| 178 base::ProcessId id1 = base::GetProcId(GetCurrentProcess()); | 178 base::ProcessId id1 = base::GetProcId(GetCurrentProcess()); |
| 179 EXPECT_NE(0ul, id1); | 179 EXPECT_NE(0ul, id1); |
| 180 base::ProcessHandle handle = this->SpawnChild("SimpleChildProcess", false); | 180 base::ProcessHandle handle = this->SpawnChild("SimpleChildProcess", false); |
| 181 ASSERT_NE(base::kNullProcessHandle, handle); | 181 ASSERT_NE(base::kNullProcessHandle, handle); |
| 182 base::ProcessId id2 = base::GetProcId(handle); | 182 base::ProcessId id2 = base::GetProcId(handle); |
| 183 EXPECT_NE(0ul, id2); | 183 EXPECT_NE(0ul, id2); |
| 184 EXPECT_NE(id1, id2); | 184 EXPECT_NE(id1, id2); |
| 185 base::CloseProcessHandle(handle); | 185 base::CloseProcessHandle(handle); |
| 186 } | 186 } |
| 187 |
| 188 TEST_F(ProcessUtilTest, GetModuleFromAddress) { |
| 189 // Since the unit tests are their own EXE, this should be |
| 190 // equivalent to the EXE's HINSTANCE. |
| 191 // |
| 192 // kExpectedKilledExitCode is a constant in this file and |
| 193 // therefore within the unit test EXE. |
| 194 EXPECT_EQ(::GetModuleHandle(NULL), |
| 195 base::GetModuleFromAddress( |
| 196 const_cast<int*>(&kExpectedKilledExitCode))); |
| 197 |
| 198 // Any address within the kernel32 module should return |
| 199 // kernel32's HMODULE. Our only assumption here is that |
| 200 // kernel32 is larger than 4 bytes. |
| 201 HMODULE kernel32 = ::GetModuleHandle(L"kernel32.dll"); |
| 202 HMODULE kernel32_from_address = |
| 203 base::GetModuleFromAddress(reinterpret_cast<DWORD*>(kernel32) + 1); |
| 204 EXPECT_EQ(kernel32, kernel32_from_address); |
| 205 } |
| 187 #endif | 206 #endif |
| 188 | 207 |
| 189 #if !defined(OS_MACOSX) | 208 #if !defined(OS_MACOSX) |
| 190 // This test is disabled on Mac, since it's flaky due to ReportCrash | 209 // This test is disabled on Mac, since it's flaky due to ReportCrash |
| 191 // taking a variable amount of time to parse and load the debug and | 210 // taking a variable amount of time to parse and load the debug and |
| 192 // symbol data for this unit test's executable before firing the | 211 // symbol data for this unit test's executable before firing the |
| 193 // signal handler. | 212 // signal handler. |
| 194 // | 213 // |
| 195 // TODO(gspencer): turn this test process into a very small program | 214 // TODO(gspencer): turn this test process into a very small program |
| 196 // with no symbols (instead of using the multiprocess testing | 215 // with no symbols (instead of using the multiprocess testing |
| (...skipping 940 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1137 SetUpInDeathAssert(); | 1156 SetUpInDeathAssert(); |
| 1138 while ((value_ = base::AllocatePsychoticallyBigObjCObject())) {} | 1157 while ((value_ = base::AllocatePsychoticallyBigObjCObject())) {} |
| 1139 }, ""); | 1158 }, ""); |
| 1140 } | 1159 } |
| 1141 | 1160 |
| 1142 #endif // !ARCH_CPU_64_BITS | 1161 #endif // !ARCH_CPU_64_BITS |
| 1143 #endif // OS_MACOSX | 1162 #endif // OS_MACOSX |
| 1144 | 1163 |
| 1145 #endif // !defined(OS_ANDROID) && !defined(OS_OPENBSD) && | 1164 #endif // !defined(OS_ANDROID) && !defined(OS_OPENBSD) && |
| 1146 // !defined(OS_WIN) && !defined(ADDRESS_SANITIZER) | 1165 // !defined(OS_WIN) && !defined(ADDRESS_SANITIZER) |
| OLD | NEW |