On 8 Apr 2007, at 12:46, Fergal Daly wrote:
Prepending something to every line is necessary if you want perfect
multiplexing.
But we don't want that to be part of TAP do we? What's with the
insistence that TAP has to be responsible for multiplexing?
Or we could just go with a proposal that adds two easily understood
keywords to TAP without altering any of the existing syntax.
I should point out that I have updated the wiki, I just noticed that I
had transposed the "ok" and the test number in the groups proposal.
That may have caused a lot of confusion.
My suggestion on the wiki
- adds no new keywords
New keywords aren't in short supply.
- is valid TAP right now except for plans
What about the multi-part test numbers? What about YAMLish blocks?
How do you propose to tag them with test numbers in a backwards
compatible way?
- will handle a forking/threaded script fine apart from assigning
diagnostics to the right test (which doesn't actually happen yet
anyway)
Which with structured diagnostics is /much/ more of a big deal. You
don't seem to address that at all.
Your suggestion
- requires 2 new keywords
New keywords aren't in short supply.
- is not valid TAP right now, current TAP parsers ignore most of your
sample output
A TAP stream that doesn't use blocks is unchanged by my proposal -
100% backwards compatible because it's identical.
- makes test-numbering non-unique (current TAP parser emits
warnings/errors referring to test numbers)
We can construct a hierarchical test number that looks just like yours.
- makes it impossible to fork/thread
Until you expand on your proposal to explain how you're going to
associate structured diagnostics with a particular test so does yours.
The idea that a TAP stream may in fact be multiple streams that have
been mixed together complicates the TAP parser hugely to provide hard-
to-test functionality that may not be of interest to the majority of
users.
At the risk of repeating myself (again) any mux / demux can take
place at a lower level in a notional TAP protocol stack - it doesn't
have to be part of TAP.
--
Andy Armstrong, hexten.net