Add support for “known failures” to transcripts
Overview
This allows issues that haven’t yet been resolved to be reflected in the transcripts. This makes it easier to close tickets as soon as issues have been fixed, and avoids having to manually re-try transcripts from a ticket to see if the situation is the same.
Fixes #5350.
Implementation notes
This adds two new transcript tags :failure and :incorrect. They behave similarly to :error and no tag, respectively, except the error messages are different when the results don’t match.
:failurerepresents a stanza that is intended to succeed, but currently fails (whereas:erroris intended to fail):incorrectrepresents a stanza that is intended to error, but currently doesn’t.
Test coverage
This adds three new transcripts for open tickets exercising the two new tags.
Loose ends
There are lots of open tickets that should also get transcripts added.
I wanna think a little more about what the label names should be, because I think error failure and incorrect are hard to distinguish; but otherwise this looks great.
I agree. It might be worth doing #5214 before this.
How about:
- <no-tag> : stanza is expected to succeed; runner will complain if it doesn't succeed
:error: stanza is expected to fail, runner will complain if it doesn't error:bug: stanza is expected to succeed, but currently doesn't, due to a known ucm bug. runner should notify us if the behavior changes:error :bug: stanza is expected to error, but currently doesn't, due to a known ucm bug. runner should notify us if the behavior changes
And then also if it's idempotent, we want to preserve any unsuccessful input or unprocessed.
Ok, I’ve switched to :error/:bug, which is a big improvement. Ready for final review.