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