(I can't recall exactly what I was thinking a year ago, but) it looks like the test needs to be terminated here because `case <-ctx.Done()` means it timed out.  I will add an fatal log here instead of returning to inform users that a test is finished by timeout. 