Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: installer/src/installer-lib/test/process_test.cpp

Issue 5665210325008384: Combine snapshot classes into a template class (Closed)
Patch Set: Created April 3, 2014, 4:51 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 #include <gtest/gtest.h> 1 #include <gtest/gtest.h>
2 #include "../process.h" 2 #include "../process.h"
3 #include <functional> 3 #include <functional>
4 4
5 // Turn off warnings for string copies 5 // Turn off warnings for string copies
6 #pragma warning( disable : 4996 ) 6 #pragma warning( disable : 4996 )
7 7
8 //------------------------------------------------------- 8 //-------------------------------------------------------
9 // Comparison objects 9 // Comparison objects
10 //------------------------------------------------------- 10 //-------------------------------------------------------
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 177
178 //------------------------------------------------------- 178 //-------------------------------------------------------
179 // Single-snapshot version of initializers 179 // Single-snapshot version of initializers
180 //------------------------------------------------------- 180 //-------------------------------------------------------
181 /** 181 /**
182 * Single-snapshot version of initialize_process_list, for testing. 182 * Single-snapshot version of initialize_process_list, for testing.
183 */ 183 */
184 template< class T, class Admittance, class Extractor > 184 template< class T, class Admittance, class Extractor >
185 void initialize_process_list( std::vector< T > & v, Admittance admit = Admittanc e(), Extractor extract = Extractor() ) 185 void initialize_process_list( std::vector< T > & v, Admittance admit = Admittanc e(), Extractor extract = Extractor() )
186 { 186 {
187 initialize_process_list( v, Snapshot(), admit, extract ) ; 187 initialize_process_list( v, Process_Snapshot(), admit, extract ) ;
188 } 188 }
189 189
190 /** 190 /**
191 * Single-snapshot version of initialize_process_set, for testing. 191 * Single-snapshot version of initialize_process_set, for testing.
192 */ 192 */
193 template< class T, class Admittance, class Extractor > 193 template< class T, class Admittance, class Extractor >
194 void initialize_process_set( std::set< T > & s, Admittance admit = Admittance(), Extractor extract = Extractor() ) 194 void initialize_process_set( std::set< T > & s, Admittance admit = Admittance(), Extractor extract = Extractor() )
195 { 195 {
196 initialize_process_set( s, Snapshot(), admit, extract ) ; 196 initialize_process_set( s, Process_Snapshot(), admit, extract ) ;
197 } 197 }
198 198
199 //------------------------------------------------------- 199 //-------------------------------------------------------
200 // TESTS with snapshots 200 // TESTS with snapshots
201 //------------------------------------------------------- 201 //-------------------------------------------------------
202 /** 202 /**
203 * Construction test ensures that we don't throw and that at least one process s hows up. 203 * Construction test ensures that we don't throw and that at least one process s hows up.
204 */ 204 */
205 TEST( Process_List_Test, construct_vector ) 205 TEST( Process_List_Test, construct_vector )
206 { 206 {
207 std::vector< PROCESSENTRY32W > v ; 207 std::vector< PROCESSENTRY32W > v ;
208 initialize_process_list( v, every_process(), copy_all() ) ; 208 initialize_process_list( v, every_process(), copy_all() ) ;
209 ASSERT_GE( v.size(), 1u ); 209 ASSERT_GE( v.size(), 1u );
210 } 210 }
211 211
212 /** 212 /**
213 * The only process we are really guaranteed to have is this test process itself . 213 * The only process we are really guaranteed to have is this test process itself .
214 */ 214 */
215 TEST( Process_List_Test, find_our_process ) 215 TEST( Process_List_Test, find_our_process )
216 { 216 {
217 std::vector< PROCESSENTRY32W > v ; 217 std::vector< PROCESSENTRY32W > v ;
218 initialize_process_list( v, our_process_by_name(), copy_all() ) ; 218 initialize_process_list( v, our_process_by_name(), copy_all() ) ;
219 unsigned int size( v.size() ); 219 size_t size( v.size() );
220 EXPECT_EQ( 1u, size ); // Please, don't run multiple test executables simul taneously 220 EXPECT_EQ( 1u, size ); // Please, don't run multiple test executables simul taneously
221 ASSERT_GE( 1u, size ); 221 ASSERT_GE( 1u, size );
222 } 222 }
223 223
224 /** 224 /**
225 * The only process we are really guaranteed to have is this test process itself . 225 * The only process we are really guaranteed to have is this test process itself .
226 * This test uses same one used in Process_Closer 226 * This test uses same one used in Process_Closer
227 */ 227 */
228 TEST( Process_List_Test, find_our_process_CI_generic ) 228 TEST( Process_List_Test, find_our_process_CI_generic )
229 { 229 {
230 std::vector< PROCESSENTRY32W > v ; 230 std::vector< PROCESSENTRY32W > v ;
231 initialize_process_list( v, process_by_name_CI( mixedcase_exe_name ), copy_all () ) ; 231 initialize_process_list( v, process_by_name_CI( mixedcase_exe_name ), copy_all () ) ;
232 unsigned int size( v.size() ); 232 size_t size( v.size() );
233 EXPECT_EQ( 1u, size ); // Please, don't run multiple test executables simul taneously 233 EXPECT_EQ( 1u, size ); // Please, don't run multiple test executables simul taneously
234 ASSERT_GE( 1u, size ); 234 ASSERT_GE( 1u, size );
235 } 235 }
236 236
237 /** 237 /**
238 * The only process we are really guaranteed to have is this test process itself . 238 * The only process we are really guaranteed to have is this test process itself .
239 * This test uses the generic filter function. 239 * This test uses the generic filter function.
240 */ 240 */
241 TEST( Process_List_Test, find_our_process_CI_as_used ) 241 TEST( Process_List_Test, find_our_process_CI_as_used )
242 { 242 {
243 std::vector< PROCESSENTRY32W > v ; 243 std::vector< PROCESSENTRY32W > v ;
244 initialize_process_list( v, process_by_any_file_name_CI( file_name_set( multip le_exe_names ) ), copy_all() ) ; 244 initialize_process_list( v, process_by_any_file_name_CI( file_name_set( multip le_exe_names ) ), copy_all() ) ;
245 unsigned int size( v.size() ); 245 size_t size( v.size() );
246 EXPECT_EQ( 1u, size ); // Please, don't run multiple test executables simul taneously 246 EXPECT_EQ( 1u, size ); // Please, don't run multiple test executables simul taneously
247 ASSERT_GE( 1u, size ); 247 ASSERT_GE( 1u, size );
248 } 248 }
249 249
250 /** 250 /**
251 * Locate the PID of our process. 251 * Locate the PID of our process.
252 */ 252 */
253 TEST( Process_List_Test, find_our_PID ) 253 TEST( Process_List_Test, find_our_PID )
254 { 254 {
255 std::vector< DWORD > v ; 255 std::vector< DWORD > v ;
256 initialize_process_list( v, our_process_by_name(), copy_PID() ) ; 256 initialize_process_list( v, our_process_by_name(), copy_PID() ) ;
257 unsigned int size( v.size() ); 257 size_t size( v.size() );
258 EXPECT_EQ( size, 1u ); // Please, don't run multiple test executables simul taneously 258 EXPECT_EQ( size, 1u ); // Please, don't run multiple test executables simul taneously
259 ASSERT_GE( size, 1u ); 259 ASSERT_GE( size, 1u );
260 } 260 }
261 261
262 /** 262 /**
263 * Locate the PID of our process using the 263 * Locate the PID of our process using the
264 */ 264 */
265 TEST( Process_List_Test, find_our_process_in_set ) 265 TEST( Process_List_Test, find_our_process_in_set )
266 { 266 {
267 std::vector< DWORD > v ; 267 std::vector< DWORD > v ;
268 initialize_process_list( v, find_in_set, copy_PID() ) ; 268 initialize_process_list( v, find_in_set, copy_PID() ) ;
269 unsigned int size( v.size() ); 269 size_t size( v.size() );
270 EXPECT_EQ( size, 1u ); // Please, don't run multiple test executables simul taneously 270 EXPECT_EQ( size, 1u ); // Please, don't run multiple test executables simul taneously
271 ASSERT_GE( size, 1u ); 271 ASSERT_GE( size, 1u );
272 } 272 }
273 273
274 //------------------------------------------------------- 274 //-------------------------------------------------------
275 // TESTS for process ID sets 275 // TESTS for process ID sets
276 //------------------------------------------------------- 276 //-------------------------------------------------------
277 /* 277 /*
278 * Can't use copy_all without a definition for "less< PROCESSENTRY32W >". 278 * Can't use copy_all without a definition for "less< PROCESSENTRY32W >".
279 * Thus all tests only use copy_PID 279 * Thus all tests only use copy_PID
(...skipping 27 matching lines...) Expand all
307 ASSERT_GE( size, 1u ); 307 ASSERT_GE( size, 1u );
308 } 308 }
309 TEST( pid_set, find_our_process_in_set_w_non_existant ) 309 TEST( pid_set, find_our_process_in_set_w_non_existant )
310 { 310 {
311 std::set< DWORD > s ; 311 std::set< DWORD > s ;
312 initialize_process_set( s, find_in_set_w_non_existent, copy_PID() ) ; 312 initialize_process_set( s, find_in_set_w_non_existent, copy_PID() ) ;
313 size_t size( s.size() ) ; 313 size_t size( s.size() ) ;
314 EXPECT_EQ( size, 0u ); 314 EXPECT_EQ( size, 0u );
315 ASSERT_GE( size, 0u ); 315 ASSERT_GE( size, 0u );
316 } 316 }
OLDNEW
« no previous file with comments | « installer/src/installer-lib/run-tests.cmd ('k') | installer/src/installer-lib/test/test-installer-lib-sandbox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld