cannot 'fix' a subunit stream that may be corrupted
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
subunit |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
consider the case of concatenating several streams of unknown provenance. They might be corrupt: e.g. containing unclosed tests due to segfaults. The parser won't resync - it will consider the additional test: entries beyond the unclosed test to be stdout chatter and forward it verbatim. It would be helpful for folk dealing with unreliable environments - e.g. C programs or segfault-likely extension modules for python, to be able to recover from this situation without making the whole test run un-machine-
One way would be a less strict parser. Another way would be to have a strict parser wrap and regenerate around each stream, at each layer in the stack of stream generators, and another way would be to have a stream instruction that forces any open contexts closed, to be run when something may have corrupted the stream.
This is fixed in v2 by having a packetised format.