tarpaulin
tarpaulin copied to clipboard
Unify process handling for ptrace
The setup tasks in process_handling::linux::execute
can be achieved for std::process::Command
through std::process::Command::pre_exec
(as demonstrated by https://github.com/luser/spawn-ptrace). This means that the TestHandle::Id
handle is no longer necessary, as the ptraced child process can also now be made into a RunningProcessHandle
.
Marked as draft since kill_used_in_test
is failing with a segfault originating in rusty_fork
.
You should also add a CI target for x86 as well as the x64 ones just to make sure the new platform stays working
So you could scale this back to remove the spawn-ptrace functionality and keep the personality and x86 support as a way of breaking it up into another 2 PRs and getting something mergeable sooner. Depends how much time/effort you're willing to put into this work :sweat_smile:
I have been busy for the past few months, my apologies. I am going to continue this PR on https://github.com/onalante/tarpaulin/tree/ptrace after resolving the change conflicts.
No worries we've all been there :sweat_smile:. I think I've probably done some parts of this recently already as part of fixing some personality issues a user was having on Mac.