If the point is to get rid of `GetProcessId`, maybe we can just remove the call entirely? Having the child process PID printed out doesn't seem very useful to me.
Regarding the other changes, maybe there's a question to whether we want these helpers to do more, or actually do less. Implicitly closing the handles might seem like a useful thing to do, but it might also not be.
I think the wait_child_process helper most important purpose is to add the failure count to the winetest failure count, and possibly print some specific message that the rest of the winetest infrastructure will expect (report parser, etc).
We could argue that the helper should instead be reduced to be made more flexible: the wait could be moved out of the helper and left up to individual test modules (which could use a different timeout strategy), and the exit code could have different meaning depending on the modules.
What we want is mostly only a way to consistently report 1) child process crashes and 2) child process failure count so they get added to the total.