OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "base/process/process.h" | 5 #include "base/process/process.h" |
6 | 6 |
7 #include "base/process/kill.h" | 7 #include "base/process/kill.h" |
8 #include "base/test/multiprocess_test.h" | 8 #include "base/test/multiprocess_test.h" |
9 #include "base/test/test_timeouts.h" | 9 #include "base/test/test_timeouts.h" |
10 #include "base/threading/platform_thread.h" | 10 #include "base/threading/platform_thread.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 EXPECT_FALSE(process3.IsValid()); | 61 EXPECT_FALSE(process3.IsValid()); |
62 } | 62 } |
63 | 63 |
64 TEST_F(ProcessTest, Duplicate) { | 64 TEST_F(ProcessTest, Duplicate) { |
65 Process process1(SpawnChild("SimpleChildProcess")); | 65 Process process1(SpawnChild("SimpleChildProcess")); |
66 ASSERT_TRUE(process1.IsValid()); | 66 ASSERT_TRUE(process1.IsValid()); |
67 | 67 |
68 Process process2 = process1.Duplicate(); | 68 Process process2 = process1.Duplicate(); |
69 ASSERT_TRUE(process1.IsValid()); | 69 ASSERT_TRUE(process1.IsValid()); |
70 ASSERT_TRUE(process2.IsValid()); | 70 ASSERT_TRUE(process2.IsValid()); |
71 EXPECT_EQ(process1.pid(), process2.pid()); | 71 EXPECT_EQ(process1.Pid(), process2.Pid()); |
72 EXPECT_FALSE(process1.is_current()); | 72 EXPECT_FALSE(process1.is_current()); |
73 EXPECT_FALSE(process2.is_current()); | 73 EXPECT_FALSE(process2.is_current()); |
74 | 74 |
75 process1.Close(); | 75 process1.Close(); |
76 ASSERT_TRUE(process2.IsValid()); | 76 ASSERT_TRUE(process2.IsValid()); |
77 } | 77 } |
78 | 78 |
79 TEST_F(ProcessTest, DuplicateCurrent) { | 79 TEST_F(ProcessTest, DuplicateCurrent) { |
80 Process process1 = Process::Current(); | 80 Process process1 = Process::Current(); |
81 ASSERT_TRUE(process1.IsValid()); | 81 ASSERT_TRUE(process1.IsValid()); |
82 | 82 |
83 Process process2 = process1.Duplicate(); | 83 Process process2 = process1.Duplicate(); |
84 ASSERT_TRUE(process1.IsValid()); | 84 ASSERT_TRUE(process1.IsValid()); |
85 ASSERT_TRUE(process2.IsValid()); | 85 ASSERT_TRUE(process2.IsValid()); |
86 EXPECT_EQ(process1.pid(), process2.pid()); | 86 EXPECT_EQ(process1.Pid(), process2.Pid()); |
87 EXPECT_TRUE(process1.is_current()); | 87 EXPECT_TRUE(process1.is_current()); |
88 EXPECT_TRUE(process2.is_current()); | 88 EXPECT_TRUE(process2.is_current()); |
89 | 89 |
90 process1.Close(); | 90 process1.Close(); |
91 ASSERT_TRUE(process2.IsValid()); | 91 ASSERT_TRUE(process2.IsValid()); |
92 } | 92 } |
93 | 93 |
94 TEST_F(ProcessTest, DeprecatedGetProcessFromHandle) { | 94 TEST_F(ProcessTest, DeprecatedGetProcessFromHandle) { |
95 Process process1(SpawnChild("SimpleChildProcess")); | 95 Process process1(SpawnChild("SimpleChildProcess")); |
96 ASSERT_TRUE(process1.IsValid()); | 96 ASSERT_TRUE(process1.IsValid()); |
97 | 97 |
98 Process process2 = Process::DeprecatedGetProcessFromHandle(process1.Handle()); | 98 Process process2 = Process::DeprecatedGetProcessFromHandle(process1.Handle()); |
99 ASSERT_TRUE(process1.IsValid()); | 99 ASSERT_TRUE(process1.IsValid()); |
100 ASSERT_TRUE(process2.IsValid()); | 100 ASSERT_TRUE(process2.IsValid()); |
101 EXPECT_EQ(process1.pid(), process2.pid()); | 101 EXPECT_EQ(process1.Pid(), process2.Pid()); |
102 EXPECT_FALSE(process1.is_current()); | 102 EXPECT_FALSE(process1.is_current()); |
103 EXPECT_FALSE(process2.is_current()); | 103 EXPECT_FALSE(process2.is_current()); |
104 | 104 |
105 process1.Close(); | 105 process1.Close(); |
106 ASSERT_TRUE(process2.IsValid()); | 106 ASSERT_TRUE(process2.IsValid()); |
107 } | 107 } |
108 | 108 |
109 MULTIPROCESS_TEST_MAIN(SleepyChildProcess) { | 109 MULTIPROCESS_TEST_MAIN(SleepyChildProcess) { |
110 PlatformThread::Sleep(TestTimeouts::action_max_timeout()); | 110 PlatformThread::Sleep(TestTimeouts::action_max_timeout()); |
111 return 0; | 111 return 0; |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 EXPECT_FALSE(process.IsProcessBackgrounded()); | 194 EXPECT_FALSE(process.IsProcessBackgrounded()); |
195 #else | 195 #else |
196 process.SetProcessBackgrounded(true); | 196 process.SetProcessBackgrounded(true); |
197 process.SetProcessBackgrounded(false); | 197 process.SetProcessBackgrounded(false); |
198 #endif | 198 #endif |
199 int new_priority = process.GetPriority(); | 199 int new_priority = process.GetPriority(); |
200 EXPECT_EQ(old_priority, new_priority); | 200 EXPECT_EQ(old_priority, new_priority); |
201 } | 201 } |
202 | 202 |
203 } // namespace base | 203 } // namespace base |
OLD | NEW |