On 21 Aug 2008, at 22:41, chromatic wrote:
I've written a handful of TAP producers and consumers myself, as well as software which other people have used in ways I never intended. The more complexity you add to a system to reduce the complexity people have to manage to use your system as you never intended, the more complexity everyone has to
manage to use your system as you always intended.


Indeed - but there's a sweet spot somewhere between specifying too little and specifying too much. It's entirely proper that there should be a debate about where that sweet spot is - and parsimony should be a guiding principle - but the value of having inline, per-test metadata has already been demonstrated.

IMO we don't need a complete serialisation protocol - just somewhere we can make notes and have them pass unmolested through the harness. If someone needs arbitrary serialisation they can use a protocol that makes sense to them and either inline their serialised data as a Base64 encoded string or have the diagnostic refer to an external file. The important thing is to open up a conduit through which user defined data can flow from a test script.

Now, that could just be an opaque block of inline data - but you'd want that to be delimited in some way so the TAP parser knows how to step over it. Having to wrap it up as a minimal JSON or YAML is not a significantly greater burden than, say, MIME multipart encoding it and using a structured representation increases the chances that common usage will emerge. Cowpaths to pave.

I favour JSON because it's the simplest solution that fits those criteria.

--
Andy Armstrong, Hexten



Reply via email to