generate the coverage report only once and do it when the stream ends