I just see this now. You don't want to share a semaphore between tests.

Make sure that every test creates is own semaphore resource. So no field semaphore, but a local variable.