'If for some reasons we can\'t connect to the worker process, the test
suite catches and fails.'

def test_runUnexpectedError(self):

    class FakeReactorWithFail(FakeReactor, ):
        def spawnProcess(self, worker, *args, **kwargs):
            worker.makeConnection(FakeTransport())
            self.spawnCount += 1
            worker._ampProtocol.run = self.failingRun
        def failingRun(self, case, result):
            return fail(RuntimeError('oops'))
    (scheduler, cooperator) = self.getFakeSchedulerAndEternalCooperator()
    fakeReactor = FakeReactorWithFail()
    result = self.runner.run(TestCase(), fakeReactor, cooperator.cooperate)
    self.assertEqual(fakeReactor.runCount, 1)
    self.assertEqual(fakeReactor.spawnCount, 1)
    scheduler.pump()
    self.assertEqual(1, len(result.original.failures))
