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 #include <windows.h> | 5 #include <windows.h> |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/process/kill.h" | 10 #include "base/process/kill.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 | 62 |
63 TEST_F(ScopedProcessInformationTest, Receive) { | 63 TEST_F(ScopedProcessInformationTest, Receive) { |
64 base::win::ScopedProcessInformation process_info; | 64 base::win::ScopedProcessInformation process_info; |
65 MockCreateProcess(&process_info); | 65 MockCreateProcess(&process_info); |
66 | 66 |
67 EXPECT_TRUE(process_info.IsValid()); | 67 EXPECT_TRUE(process_info.IsValid()); |
68 EXPECT_EQ(kProcessId, process_info.process_id()); | 68 EXPECT_EQ(kProcessId, process_info.process_id()); |
69 EXPECT_EQ(kThreadId, process_info.thread_id()); | 69 EXPECT_EQ(kThreadId, process_info.thread_id()); |
70 EXPECT_EQ(kProcessHandle, process_info.process_handle()); | 70 EXPECT_EQ(kProcessHandle, process_info.process_handle()); |
71 EXPECT_EQ(kThreadHandle, process_info.thread_handle()); | 71 EXPECT_EQ(kThreadHandle, process_info.thread_handle()); |
72 PROCESS_INFORMATION to_discard = process_info.Take(); | 72 process_info.Take(); |
73 } | 73 } |
74 | 74 |
75 TEST_F(ScopedProcessInformationTest, TakeProcess) { | 75 TEST_F(ScopedProcessInformationTest, TakeProcess) { |
76 base::win::ScopedProcessInformation process_info; | 76 base::win::ScopedProcessInformation process_info; |
77 MockCreateProcess(&process_info); | 77 MockCreateProcess(&process_info); |
78 | 78 |
79 HANDLE process = process_info.TakeProcessHandle(); | 79 HANDLE process = process_info.TakeProcessHandle(); |
80 EXPECT_EQ(kProcessHandle, process); | 80 EXPECT_EQ(kProcessHandle, process); |
81 EXPECT_EQ(NULL, process_info.process_handle()); | 81 EXPECT_EQ(NULL, process_info.process_handle()); |
82 EXPECT_EQ(0, process_info.process_id()); | 82 EXPECT_EQ(0, process_info.process_id()); |
83 EXPECT_TRUE(process_info.IsValid()); | 83 EXPECT_TRUE(process_info.IsValid()); |
84 PROCESS_INFORMATION to_discard = process_info.Take(); | 84 process_info.Take(); |
85 } | 85 } |
86 | 86 |
87 TEST_F(ScopedProcessInformationTest, TakeThread) { | 87 TEST_F(ScopedProcessInformationTest, TakeThread) { |
88 base::win::ScopedProcessInformation process_info; | 88 base::win::ScopedProcessInformation process_info; |
89 MockCreateProcess(&process_info); | 89 MockCreateProcess(&process_info); |
90 | 90 |
91 HANDLE thread = process_info.TakeThreadHandle(); | 91 HANDLE thread = process_info.TakeThreadHandle(); |
92 EXPECT_EQ(kThreadHandle, thread); | 92 EXPECT_EQ(kThreadHandle, thread); |
93 EXPECT_EQ(NULL, process_info.thread_handle()); | 93 EXPECT_EQ(NULL, process_info.thread_handle()); |
94 EXPECT_EQ(0, process_info.thread_id()); | 94 EXPECT_EQ(0, process_info.thread_id()); |
95 EXPECT_TRUE(process_info.IsValid()); | 95 EXPECT_TRUE(process_info.IsValid()); |
96 PROCESS_INFORMATION to_discard = process_info.Take(); | 96 process_info.Take(); |
97 } | 97 } |
98 | 98 |
99 TEST_F(ScopedProcessInformationTest, TakeBoth) { | 99 TEST_F(ScopedProcessInformationTest, TakeBoth) { |
100 base::win::ScopedProcessInformation process_info; | 100 base::win::ScopedProcessInformation process_info; |
101 MockCreateProcess(&process_info); | 101 MockCreateProcess(&process_info); |
102 | 102 |
103 HANDLE process = process_info.TakeProcessHandle(); | 103 process_info.TakeProcessHandle(); |
104 HANDLE thread = process_info.TakeThreadHandle(); | 104 process_info.TakeThreadHandle(); |
105 EXPECT_FALSE(process_info.IsValid()); | 105 EXPECT_FALSE(process_info.IsValid()); |
106 PROCESS_INFORMATION to_discard = process_info.Take(); | 106 process_info.Take(); |
107 } | 107 } |
108 | 108 |
109 TEST_F(ScopedProcessInformationTest, TakeWholeStruct) { | 109 TEST_F(ScopedProcessInformationTest, TakeWholeStruct) { |
110 base::win::ScopedProcessInformation process_info; | 110 base::win::ScopedProcessInformation process_info; |
111 MockCreateProcess(&process_info); | 111 MockCreateProcess(&process_info); |
112 | 112 |
113 PROCESS_INFORMATION to_discard = process_info.Take(); | 113 PROCESS_INFORMATION to_discard = process_info.Take(); |
114 EXPECT_EQ(kProcessId, to_discard.dwProcessId); | 114 EXPECT_EQ(kProcessId, to_discard.dwProcessId); |
115 EXPECT_EQ(kThreadId, to_discard.dwThreadId); | 115 EXPECT_EQ(kThreadId, to_discard.dwThreadId); |
116 EXPECT_EQ(kProcessHandle, to_discard.hProcess); | 116 EXPECT_EQ(kProcessHandle, to_discard.hProcess); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 156 |
157 base::win::ScopedProcessInformation process_info; | 157 base::win::ScopedProcessInformation process_info; |
158 process_info.Set(base_struct); | 158 process_info.Set(base_struct); |
159 | 159 |
160 EXPECT_EQ(kProcessId, process_info.process_id()); | 160 EXPECT_EQ(kProcessId, process_info.process_id()); |
161 EXPECT_EQ(kThreadId, process_info.thread_id()); | 161 EXPECT_EQ(kThreadId, process_info.thread_id()); |
162 EXPECT_EQ(kProcessHandle, process_info.process_handle()); | 162 EXPECT_EQ(kProcessHandle, process_info.process_handle()); |
163 EXPECT_EQ(kThreadHandle, process_info.thread_handle()); | 163 EXPECT_EQ(kThreadHandle, process_info.thread_handle()); |
164 base_struct = process_info.Take(); | 164 base_struct = process_info.Take(); |
165 } | 165 } |
OLD | NEW |