Commit Graph

21 Commits

Author SHA1 Message Date
Ryan Prichard
2b146e9173 Expand common tests and refactor some code.
* Add Test_Active_ScreenBuffer_Order

 * Add Test_GetStdHandle_SetStdHandle

 * Also test a STARTF_USESTDHANDLES process in
   Test_Detach_Does_Not_Change_Standard_Handles.
2015-10-23 23:24:48 -05:00
Ryan Prichard
8e4b78c40b Test bInheritHandles=FALSE and PROC_THREAD_ATTRIBUTE_HANDLE_LIST combo.
* The API call fails.

 * Also refactor the PROC_THREAD_ATTRIBUTE_HANDLE_LIST tests a little.
2015-10-23 04:32:10 -05:00
Ryan Prichard
aec5e552b6 Expand common tests:
* Test combos of CREATE_NEW_CONSOLE, DETACHED_PROCESS, CREATE_NO_WINDOW.

 * Test use of PROC_THREAD_ATTRIBUTE_HANDLE_LIST.  It cannot be used with
   GetCurrentProcess(), but it also can't be used with traditional
   console handles.

 * Prefer nullptr over INVALID_HANDLE_VALUE.  Change ntHandlePointer.
2015-10-23 03:44:27 -05:00
Ryan Prichard
b3e95cd7de Start reorganizing the TestHandleInheritance test 2015-10-23 02:00:16 -05:00
Ryan Prichard
83c5e6de18 Propagate spawn GetLastError() so it can checked; print nice error messages 2015-10-23 00:00:37 -05:00
Ryan Prichard
1b71ef07cc Support PROC_THREAD_ATTRIBUTE_HANDLE_LIST and testing for spawn failure
* Also add a public Worker::exit() for killing workers more conveniently.

 * Previously, a Worker was either:
     (1) fully initialized and running (m_valid==true), or
     (2) moved out of (m_valid==false)
   Now RemoteWorker::trySpawn() can return an invalid RemoteWorker object.
2015-10-23 00:00:36 -05:00
Ryan Prichard
af9e06a71d Log the pipe handles in newPipe, and close the pipes in the host process 2015-10-23 00:00:34 -05:00
Ryan Prichard
abf54bc454 Add a function for querying an NT handle's underlying object pointer. 2015-10-22 19:03:49 -05:00
Ryan Prichard
38cc0bf3fe Reorganize buffer-tests/Makefile and permit tests that aren't checked in 2015-10-22 19:00:00 -05:00
Ryan Prichard
0264277bcd Move more things from tests into the test harness. 2015-10-22 18:39:33 -05:00
Ryan Prichard
fb7a19c4f1 Split TestCommon -> Remote{Worker,Handle} and add TestCommon.h uber-header
* TestCommon.h is a convenience header for the test cases.  It aliases
   Remote{Worker,Handle} back to {Worker,Handle}, and it includes many
   basic C/C++ headers, as well as the parts of the harness suitable for
   test cases.
2015-10-22 18:16:47 -05:00
Ryan Prichard
6c5a5aa670 Rename Worker.cc->WorkerProgram.cc and WorkerApi.h->Command.h
* Fix some of the rules in the Makefile to use build/% instead of %
2015-10-22 17:47:35 -05:00
Ryan Prichard
fdeb2e5cb5 Add a comment to TestHandleInheritance 2015-10-22 17:34:06 -05:00
Ryan Prichard
55bea51430 Implement precompiled headers in misc/buffer-tests
* I'm still going to try to include what is used in each module.

 * At some point, I should implement these in the main project.  It will
   need more testing on the various compilers.  It really needs to be
   on-by-default everywhere.  If it's off, then at least pch.h should be
   included everywhere, to minimize configuration differences between my
   checkout and other people's checkouts.

 * There should be some way to configure it off to check whether includes
   are correct.

 * The change reduces build times from 27.6s to 15.2s on a single-core VM.
2015-10-22 03:18:47 -05:00
Ryan Prichard
2b7df627eb Expand the Test_AttachConsole_And_CreateProcess_Inheritance test a little 2015-10-22 03:18:46 -05:00
Ryan Prichard
a697017eb7 Allow Worker user to override CREATE_NEW_CONSOLE; reduce verbosity 2015-10-22 03:18:46 -05:00
Ryan Prichard
17f5f9e960 Rename getTitle to title, add consoleProcessList. 2015-10-21 23:11:37 -05:00
Ryan Prichard
3e4086cb39 Turn off -Wformat checking within buffer-tests so %I64x warnings stop 2015-10-21 23:10:56 -05:00
Ryan Prichard
cb1341b0ef Add a test for GetConsoleTitleW 2015-10-21 19:56:12 -05:00
Ryan Prichard
3575c55c8c Expand console handle testing for XP through Windows 7.
* The tests are mostly wrong for Windows 8 and up.
2015-10-21 19:56:06 -05:00
Ryan Prichard
3bf4703f6a Add tests of screen buffer handles. 2015-10-19 23:32:08 -05:00