Right, subunit exits non-zero if it fails to generate the stream; the semantics of the stream are up to the recipient. This is better for shell combinations etc where (with pipefail set, as you should) foo|bar breaks if foo exits non-zero, but bar may be filtering out some known failures.
Right, subunit exits non-zero if it fails to generate the stream; the semantics of the stream are up to the recipient. This is better for shell combinations etc where (with pipefail set, as you should) foo|bar breaks if foo exits non-zero, but bar may be filtering out some known failures.