Index: base/process/process_util_unittest.cc |
diff --git a/base/process/process_util_unittest.cc b/base/process/process_util_unittest.cc |
index af88fe1fd3a01f2ce3c10427e77b26645ba6eda8..80e103d54028a295406127b6a898b86d26c274fc 100644 |
--- a/base/process/process_util_unittest.cc |
+++ b/base/process/process_util_unittest.cc |
@@ -142,11 +142,10 @@ MULTIPROCESS_TEST_MAIN(SimpleChildProcess) { |
// TODO(viettrungluu): This should be in a "MultiProcessTestTest". |
TEST_F(ProcessUtilTest, SpawnChild) { |
- base::ProcessHandle handle = SpawnChild("SimpleChildProcess"); |
- ASSERT_NE(base::kNullProcessHandle, handle); |
- EXPECT_TRUE(base::WaitForSingleProcess( |
- handle, TestTimeouts::action_max_timeout())); |
- base::CloseProcessHandle(handle); |
+ base::Process process = SpawnChild("SimpleChildProcess"); |
+ ASSERT_TRUE(process.IsValid()); |
+ EXPECT_TRUE(base::WaitForSingleProcess(process.Handle(), |
+ TestTimeouts::action_max_timeout())); |
} |
MULTIPROCESS_TEST_MAIN(SlowChildProcess) { |
@@ -158,12 +157,11 @@ TEST_F(ProcessUtilTest, KillSlowChild) { |
const std::string signal_file = |
ProcessUtilTest::GetSignalFilePath(kSignalFileSlow); |
remove(signal_file.c_str()); |
- base::ProcessHandle handle = SpawnChild("SlowChildProcess"); |
- ASSERT_NE(base::kNullProcessHandle, handle); |
+ base::Process process = SpawnChild("SlowChildProcess"); |
+ ASSERT_TRUE(process.IsValid()); |
SignalChildren(signal_file.c_str()); |
- EXPECT_TRUE(base::WaitForSingleProcess( |
- handle, TestTimeouts::action_max_timeout())); |
- base::CloseProcessHandle(handle); |
+ EXPECT_TRUE(base::WaitForSingleProcess(process.Handle(), |
+ TestTimeouts::action_max_timeout())); |
remove(signal_file.c_str()); |
} |
@@ -172,21 +170,20 @@ TEST_F(ProcessUtilTest, DISABLED_GetTerminationStatusExit) { |
const std::string signal_file = |
ProcessUtilTest::GetSignalFilePath(kSignalFileSlow); |
remove(signal_file.c_str()); |
- base::ProcessHandle handle = SpawnChild("SlowChildProcess"); |
- ASSERT_NE(base::kNullProcessHandle, handle); |
+ base::Process process = SpawnChild("SlowChildProcess"); |
+ ASSERT_TRUE(process.IsValid()); |
int exit_code = 42; |
EXPECT_EQ(base::TERMINATION_STATUS_STILL_RUNNING, |
- base::GetTerminationStatus(handle, &exit_code)); |
+ base::GetTerminationStatus(process.Handle(), &exit_code)); |
EXPECT_EQ(kExpectedStillRunningExitCode, exit_code); |
SignalChildren(signal_file.c_str()); |
exit_code = 42; |
base::TerminationStatus status = |
- WaitForChildTermination(handle, &exit_code); |
+ WaitForChildTermination(process.Handle(), &exit_code); |
EXPECT_EQ(base::TERMINATION_STATUS_NORMAL_TERMINATION, status); |
EXPECT_EQ(0, exit_code); |
- base::CloseProcessHandle(handle); |
remove(signal_file.c_str()); |
} |
@@ -195,12 +192,11 @@ TEST_F(ProcessUtilTest, DISABLED_GetTerminationStatusExit) { |
TEST_F(ProcessUtilTest, GetProcId) { |
base::ProcessId id1 = base::GetProcId(GetCurrentProcess()); |
EXPECT_NE(0ul, id1); |
- base::ProcessHandle handle = SpawnChild("SimpleChildProcess"); |
- ASSERT_NE(base::kNullProcessHandle, handle); |
- base::ProcessId id2 = base::GetProcId(handle); |
+ base::Process process = SpawnChild("SimpleChildProcess"); |
+ ASSERT_TRUE(process.IsValid()); |
+ base::ProcessId id2 = process.pid(); |
EXPECT_NE(0ul, id2); |
EXPECT_NE(id1, id2); |
- base::CloseProcessHandle(handle); |
} |
#endif |
@@ -239,18 +235,18 @@ TEST_F(ProcessUtilTest, MAYBE_GetTerminationStatusCrash) { |
const std::string signal_file = |
ProcessUtilTest::GetSignalFilePath(kSignalFileCrash); |
remove(signal_file.c_str()); |
- base::ProcessHandle handle = SpawnChild("CrashingChildProcess"); |
- ASSERT_NE(base::kNullProcessHandle, handle); |
+ base::Process process = SpawnChild("CrashingChildProcess"); |
+ ASSERT_TRUE(process.IsValid()); |
int exit_code = 42; |
EXPECT_EQ(base::TERMINATION_STATUS_STILL_RUNNING, |
- base::GetTerminationStatus(handle, &exit_code)); |
+ base::GetTerminationStatus(process.Handle(), &exit_code)); |
EXPECT_EQ(kExpectedStillRunningExitCode, exit_code); |
SignalChildren(signal_file.c_str()); |
exit_code = 42; |
base::TerminationStatus status = |
- WaitForChildTermination(handle, &exit_code); |
+ WaitForChildTermination(process.Handle(), &exit_code); |
EXPECT_EQ(base::TERMINATION_STATUS_PROCESS_CRASHED, status); |
#if defined(OS_WIN) |
@@ -261,7 +257,6 @@ TEST_F(ProcessUtilTest, MAYBE_GetTerminationStatusCrash) { |
int signal = WTERMSIG(exit_code); |
EXPECT_EQ(SIGSEGV, signal); |
#endif |
- base::CloseProcessHandle(handle); |
// Reset signal handlers back to "normal". |
base::debug::EnableInProcessStackDumping(); |
@@ -286,18 +281,18 @@ TEST_F(ProcessUtilTest, GetTerminationStatusKill) { |
const std::string signal_file = |
ProcessUtilTest::GetSignalFilePath(kSignalFileKill); |
remove(signal_file.c_str()); |
- base::ProcessHandle handle = SpawnChild("KilledChildProcess"); |
- ASSERT_NE(base::kNullProcessHandle, handle); |
+ base::Process process = SpawnChild("KilledChildProcess"); |
+ ASSERT_TRUE(process.IsValid()); |
int exit_code = 42; |
EXPECT_EQ(base::TERMINATION_STATUS_STILL_RUNNING, |
- base::GetTerminationStatus(handle, &exit_code)); |
+ base::GetTerminationStatus(process.Handle(), &exit_code)); |
EXPECT_EQ(kExpectedStillRunningExitCode, exit_code); |
SignalChildren(signal_file.c_str()); |
exit_code = 42; |
base::TerminationStatus status = |
- WaitForChildTermination(handle, &exit_code); |
+ WaitForChildTermination(process.Handle(), &exit_code); |
EXPECT_EQ(base::TERMINATION_STATUS_PROCESS_WAS_KILLED, status); |
#if defined(OS_WIN) |
EXPECT_EQ(kExpectedKilledExitCode, exit_code); |
@@ -307,7 +302,6 @@ TEST_F(ProcessUtilTest, GetTerminationStatusKill) { |
int signal = WTERMSIG(exit_code); |
EXPECT_EQ(SIGKILL, signal); |
#endif |
- base::CloseProcessHandle(handle); |
remove(signal_file.c_str()); |
} |
@@ -535,9 +529,9 @@ int ProcessUtilTest::CountOpenFDsInChild() { |
fd_mapping_vec.push_back(std::pair<int, int>(fds[1], kChildPipe)); |
base::LaunchOptions options; |
options.fds_to_remap = &fd_mapping_vec; |
- base::ProcessHandle handle = |
+ base::Process process = |
SpawnChildWithOptions("ProcessUtilsLeakFDChildProcess", options); |
- CHECK(handle); |
+ CHECK(process.IsValid()); |
int ret = IGNORE_EINTR(close(fds[1])); |
DPCHECK(ret == 0); |
@@ -549,11 +543,12 @@ int ProcessUtilTest::CountOpenFDsInChild() { |
#if defined(THREAD_SANITIZER) |
// Compiler-based ThreadSanitizer makes this test slow. |
- CHECK(base::WaitForSingleProcess(handle, base::TimeDelta::FromSeconds(3))); |
+ CHECK(base::WaitForSingleProcess(process.Handle(), |
+ base::TimeDelta::FromSeconds(3))); |
#else |
- CHECK(base::WaitForSingleProcess(handle, base::TimeDelta::FromSeconds(1))); |
+ CHECK(base::WaitForSingleProcess(process.Handle(), |
+ base::TimeDelta::FromSeconds(1))); |
#endif |
- base::CloseProcessHandle(handle); |
ret = IGNORE_EINTR(close(fds[0])); |
DPCHECK(ret == 0); |
@@ -888,7 +883,7 @@ bool IsProcessDead(base::ProcessHandle child) { |
} |
TEST_F(ProcessUtilTest, DelayedTermination) { |
- base::Process child_process(SpawnChild("process_util_test_never_die")); |
+ base::Process child_process = SpawnChild("process_util_test_never_die"); |
ASSERT_TRUE(child_process.IsValid()); |
base::EnsureProcessTerminated(child_process.Duplicate()); |
base::WaitForSingleProcess(child_process.Handle(), |
@@ -906,7 +901,7 @@ MULTIPROCESS_TEST_MAIN(process_util_test_never_die) { |
} |
TEST_F(ProcessUtilTest, ImmediateTermination) { |
- base::Process child_process(SpawnChild("process_util_test_die_immediately")); |
+ base::Process child_process = SpawnChild("process_util_test_die_immediately"); |
ASSERT_TRUE(child_process.IsValid()); |
// Give it time to die. |
sleep(2); |