'Launch a child Python process and communicate with it using the
given ProcessProtocol.
@param proto: A L{ProcessProtocol} instance which will be connected
to the child process.
@param sibling: The basename of a file containing the Python program
to run in the child process.
@param *args: strings which will be passed to the child process on
the command line as C{argv[2:]}.
@param **kw: additional arguments to pass to L{reactor.spawnProcess}.
@return: The L{IProcessTransport} provider for the spawned process.'

def _spawnProcess(self, proto, sibling, *args, **kw):

    args = ([sys.executable, '-m', ('twisted.test.' + sibling), reactor.__class__.__module__] + list(args))
    return reactor.spawnProcess(proto, sys.executable, args, env=properEnv, **kw)
