why do you need to check for done? These tests simply won't work in a sync test (so you always need done);