Johnny Zhang - Here is my use-case:
Apache Flume is a long running process, it will wait for input as long as it is not killed. So in writing some tests for Flume, I hit a situation where exec from iTest was pretty much useless to me. The case where I just needed to wait for a self-running source to generate the data, I could use the execWithTimeout and in the other case where I started the process and then write data via Avro RPC to Flume, I used the equivalent of execInBackground. Both these cases cannot be solved with the @Test(timeout).
Konstantin Boudnik - If you think the execInBackground should be called fork, I am ok with that and can do it (That's the only thing I understood from your feedback - if there is something else, please let me know). I don't intend to change much of the code (except maybe renaming the methods), as I do not have the cycles to do much follow up. I was just contributing what I already did.
Also, I don't think Bigtop has a policy on naming of patches, does it? I was just following the convention I use in other projects.