On Thursday 21 August 2008 11:04:11 Eric Wilhelm wrote:

> But this raises the question of:  what does it mean for a consumer
> to "understand" the diagnostic?  How far down into the content
> (keys/values) of the diagnostic does the TAP spec want to go?  What is
> the consumer going to *do* with this information?  If the TAP protocol
> is simply a matter of reliably communicating the diagnostic info to the
> consumer (and associating it with a result?), does specifying the
> consumer's usage of the diagnostics over-reach?

Let me answer the final question: yes.

TAP should specify the description of the content and not the contents of the 
content.  Remember that TAP has two nice features, one of which leads to the 
other.

1) Producing and consuming TAP are separate -- they're not in one monolithic 
process.

2) You don't even need a TAP consumer to decide whether any particular test 
passed or failed.

#1 also implies that you can write your own producer and consumer.  Here's 
where people start painting the TAP bicycle shed: the only way to communicate 
between a custom producer and a custom consumer is through the TAP stream, 
thus the desire to duct-tape an empty ten pound potato bag to the side of 
TAP, because TAP doesn't normally allow room for five pounds of potatoes.

We're all lovely people and we're mostly helpful people (I'm not, but humor 
me), and so we imagine that people will struggle with the decoupling of TAP 
Feature Number One, and go off and beg, borrow, or steal a typeful object 
serialization format that's cross-platform, cross-language, and suitable for 
carrying the semantics of information from TAP producer [p0 ... pn) to TAP 
consumer [c0 ... cn), and... well I don't believe it will work.

You're going to have to write a custom TAP consumer to consume the custom TAP 
produced by the custom TAP producer you're going to have to write to produce 
the custom TAP you want to communicate the custom data that's only 
interesting to your TAP chain, because TAP doesn't describe the contents of 
the content, only the content.

That's fine.  The kids in my neighborhood like to set off fireworks, but you 
don't see me out there passing them dynamite.

If TAP goes any further than saying "Yes, you *can* stuff a big wad of custom 
data in this ganky old potato sack, but it's ugly and covered in spiders and 
there may be a hole in the bottom, so if there's any other way, we encourage 
you to do that", I fear for the safety of my lawn, metaphorically speaking.

-- c

Reply via email to