fix: end html formatter stream at appropriate time #2233
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤔 What's changed?
In the
html
formatter, change when we end theCucumberHtmlStream
that pipes to the output stream.Previously we did this when we saw a
testRunFinished
message, which sort of makes sense. However there are other ways for a test run to end e.g. Gherkin parse failure as in the linked issue. This meant we were awaiting a stream to finish that was never going to, and this caused the process to just exit (I'm a little hazy as to exactly why, but I could reproduce it).Now we only end the stream in the cleanup step after the test run has finished (or an error has caused us to bail out of it) and it works for both cases - covered by existing scenarios for the happy path and a new one covering the parse failure.
⚡️ What's your motivation?
Fixes #2225.
🏷️ What kind of change is this?
📋 Checklist:
This text was originally generated from a template, then edited by hand. You can modify the template here.