OutputCapture
type OutputCapture =
{
lines: ResizeArray<struct (StdStream * string)>
}| Attributes | [<ReferenceEquality>] |
The lines a stage held back, in the order they were written.
One capture is shared by every step of the stage that declared it and by its sub-stages, so it locks: steps run in parallel, and a process's two streams are read on two threads of their own.
Fields
lines: ResizeArray<struct (StdStream * string)>Functions and values
add (stream: StdStream) (line: string) (outputCapture: OutputCapture) : unitclear: OutputCapture -> unitcount: OutputCapture -> intcreate () : OutputCaptureentries: OutputCapture -> struct (StdStream * string) list
entries: OutputCapture -> struct (StdStream * string) listEverything written, each line paired with the stream it arrived on, in write order.
errorText: OutputCapture -> stringerrors: OutputCapture -> string list
errors: OutputCapture -> string listOnly what went to stderr.
failureText (oc: OutputCapture) : string
failureText (oc: OutputCapture) : stringWhat a failure lifts.
stderr when the process used it, and everything otherwise: a test runner that reports its failures on stdout is the ordinary case, and lifting only stderr there would lift nothing at all.
isEmpty: OutputCapture -> boollines: OutputCapture -> string list
lines: OutputCapture -> string listEverything written, both streams, interleaved in the order it arrived.
text: OutputCapture -> stringtrimTo (count: int) : OutputCapture -> unit
trimTo (count: int) : OutputCapture -> unitDiscards every line after the first count.
A count at or above Count leaves the capture as it is.
| Parameter | |
|---|---|
count |