'When canceling a L{Deferred} from a L{DeferredSemaphore} that
already has the semaphore, the cancel should have no effect.'

def test_cancelSemaphoreAfterAcquired(self):

    def _failOnErrback(_):
        self.fail('Unexpected    errback    call!')
    sem = defer.DeferredSemaphore(1)
    d = sem.acquire()
    d.addErrback(_failOnErrback)
    d.cancel()
