I do not know if this will make your life easier, but there is a similar functionality in nose.tools
that will fail on timeout, and you do not have to have parallel testing for it:
from nose.tools import timed
@timed(2)
def test_a():
sleep(3)
You can probably auto decorate all your tests in a module using a script/plugin, if manually adding an attribute is an issue, but I personally prefer clarity over magic.
By looking through the Lib/site-packages/nose/plugins/multiprocess.py
source it looks like process-timeout
option that you are using is somewhat specific to managing "hanging" subprocesses that may be preventing test from completion.