# from Ricardo SIGNES
# on Thursday 21 August 2008 09:57:

>> Does it have to be just one?  Now and forever?
>
>Some people want the spec to say that diagnostics (not free-form
> additional data blocks) are always readable by any TAP consumer,
> which means they need a declared format.  It needs to be at least one
> declared format.

How about if the diagnostic is a free-form data block with a format 
identifier?  Then the JSON/YAML diagnostic is just a special case, 
where support for one or both of those could be required/recommended.

>Schwern would like it to be YAML (a superset of JSON), with the
> phrasing "consumers MUST understand JSON and SHOULD understand YAML."

Does that work?  If a JSON parser is handed linewise YAML, doesn't the 
consumer just trip all over itself?

So, you have to identify the format of the data block anyway, right?

# from Ovid on Thursday 21 August 2008 10:20:
>I originally argued that we should allow more than one, but I was
> wrong.  We don't know the source of our TAP and if everybody and
> their dog is speaking a different diagnostic language, we may as well
> junk diagnostics ...

What I'm suggesting is to require the consumer to support one diagnostic 
format, but define the data block and identifiers in such a way that 
additional formats MAY be supported by the consumer.

  not ok 42
    --- diagnostic: JSON/4627
      {"want": 18, "have": 40}
    ...
  ok 43

  not ok 42
    --- diagnostic: YAML/1.2
      want: 18
      have: 40
    ...
  ok 43

So, non-diagnostic data blocks might be "--- data: $whatever" or 
something?

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?

--Eric
-- 
Entia non sunt multiplicanda praeter necessitatem.
--Occam's Razor
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to