← Back to team overview

testrepository-dev team mailing list archive

testrepository and test filter creation

 

So, I think testrepositories internals have gotten a little foggy
recently, and I wanted to understand what we're trying to do. The
attached image (please excuse the grot on it - turns out my camera
finds every spec of ever used whiteboard marker on my whiteboard, and
puts it into the image - I cleaned it up as much as I had patience to
do, before compressing it to a usable size) lays this out.

In english:
 - we want to combine all the worker threads, then split the resulting
stream before any filtering takes place. The repository wants a copy,
which it will store verbatim. This permits diagnostics etc to be done
on nearly-raw data.
 - the UI wants the rest of it, but before the UI sees it we want to
do some global processing on it and strip out the 'layer X started'
tests (probably IFF they were pass / skips). LP doesn't want them
counted towards test runs, and other projects may have similar needs.
All UIs should have this done to the stream, so its not a UI specific
thing.
 - once the CLI UI has it, it splits it again, to
  * count the tests (for the summary)
  * time the run (for the summary) - but this perhaps comes from the
repository by querying the last run, so arguably ignorable. Note that
this should not be 'sum of test times' but 'duration in stream' or
something similar (because with two streams we want the wall time, not
the sum of time per CPU).
  * and we want to send the stream to stdout as subunit when --subunit is given
  * or pretty print it (when --full-results is given)
  * or filter it and then pretty print it (default) - note that there
is a missing box/arrow for this case; I've drawn it in here, you can
imagine it.

If I've got things wrong, please let me know, otherwise this should
provide guidance for where/how to plug things in, and what structure
to be aiming for in the code.

-Rob

Attachment: DSCN1286.JPG
Description: JPEG image


Follow ups