But why weren't we consuming the output of the test before it finished? That's the point of streaming after all.

I'm worried that we're now relying more, not less, on lazy I/O and other bugs like this will be more likely in the future. What would a solution that didn't use lazy I/O at all look like?