'Given a C{spawnProcess} function, C{launchWorkerProcess} launches a
python process with an existing path as its argument.'

def test_launchWorkerProcesses(self):

    protocols = [ProcessProtocol() for i in range(4)]
    arguments = []
    environment = {}
    def fakeSpawnProcess(processProtocol, executable, args=(), env={}, path=None, uid=None, gid=None, usePTY=0, childFDs=None):
        arguments.append(executable)
        arguments.extend(args)
        environment.update(env)
    self.runner.launchWorkerProcesses(fakeSpawnProcess, protocols, ['foo'])
    self.assertEqual(arguments[0], arguments[1])
    self.assertTrue(os.path.exists(arguments[2]))
    self.assertEqual('foo', arguments[3])
    self.assertEqual(os.pathsep.join(sys.path), environment['TRIAL_PYTHONPATH'])
