One thing I don't understand, with a patch like: }, { should: "only return once status is no longer running or pending", withAPIDelay: 2 * time.Second, - withClientWait: "6s", + withClientWait: "7s", withClientQueryID: validActionId, - withAPITimeout: 4 * time.Second, + withAPITimeout: 4100 * time.Millisecond, withTags: tagsForIdPrefix(validActionId, validActionTagString), I see the test take 4s longer than if I do: }, { should: "only return once status is no longer running or pending", withAPIDelay: 2 * time.Second, withClientWait: "6s", withClientQueryID: validActionId, - withAPITimeout: 4 * time.Second, + withAPITimeout: 3900 * time.Millisecond, withTags: tagsForIdPrefix(validActionId, validActionTagString), withAPIResponse: []params.ActionResult{{ I wonder if there is something causing us to cycle for >1 APITimeout sleeps. (like if we *just* miss the timeout in the 2s tick, we end up waiting an entire new cycle.) I really don't understand why there is a full 4s difference, though. On Wed, Mar 28, 2018 at 10:59 AM, John Meinel