run-tests: defer leftover (?) cleanup until after all output is exhausted...
run-tests: defer leftover (?) cleanup until after all output is exhausted
Previously, after matching a single line, any contiguous subsequent lines ending
with (?) would be added to the output and removed from the expected output.
This is a problem if the subsequent test output would have matched the consumed
(?) line, because it kept the optional line and then added a duplicate without
the (?) [1]. Instead, wait until there is nothing more to match before handling
the leftovers.
[1]
https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-February/080197.html