[tapx-dev] 0.52

Andy Armstrong andy at hexten.net
Sun Mar 18 12:26:50 GMT 2007


On 18 Mar 2007, at 10:18, Ovid wrote:
> --- Andy Armstrong <andy at hexten.net> wrote:
>
>> Do we think it's time for another release? I'd like to get the YAML
>> diagnostic handling out in the wild for people to play with. What
>> think the panel?
>
> Here are my thoughts.
>
> 1.  I'd like us to be beta, but our interface is still changing, thus,
> we still need to be alpha.  We need some way of designating which bits
> are internal and which bits are not.  That way, people can trust the
> TAP::Parser interface but not, for example, TAP::Parser::Grammar.

We've still got Schwern's logfile-inspired diagnostic syntax to
integrate too - that's certainly going to have some impact on the
grammar. Maybe we just need a disclaimer like:

   We believe that this interface is now close to being stable. We won't
   gratuitously break it. We'll attempt to make changes in a backwards
   compatible way. However, it's not final yet so caveat emptor.

> 2.  We need backward incompatible changes (e.g., --merge) to be
> prominently highlighted in the Changes file and perhaps elsewhere.

Somebody needs to stop me. My first thought was

* machine readable Changes file, changes tagged according to
    their impact
* Makefile.PL checks current installed version and automatically
    displays a list of potentially incompatible changes relative to the
    version you have installed.

That would be insane of course.

>>      - TAP::Harness now displays the first five TAP syntax errors and
>>        explains how to pass the -p flag to runtests to see them all.
>
> 3.  As you've mentioned before, this really is only appropriate for
> runtests.  I hate complicating the TH and/or THC interface even more,
> but we should find an easier way of customizing the text output for
> various "things".  Perhaps a dictionary can be created?  Then THC can
> use that dictionary for all output, runtests could specify a custom
> "runtests" subclass of that dictionary and Russian speakers could
> easily add their own version.  We could then "translate" the  
> dictionary
> into multiple languages.
>
> I'm thinking a "phrasebook" pattern like
> http://www.perl.com/pub/a/2002/10/22/phrasebook.html, but with YAML
> instead of XML.

I was going in the direction of T::Harness interfacing to a view
delegate that's responsible for all the display logic. An individual
view could certainly then use a phrasebook.

    TAP::Parser  == model
    TAP::Harness == controller
    TAP::View::* == view

Currently there's some gnarly logic in T::H to work out what to display
when. I'd like to offload that to individual views.

>       - Implemented YAML syntax. Currently YAML may only follow a
>>        test result. The first line of YAML is '---' and the last
>>        line is '...'.
>
> I assume that the "currently" restriction will be lifted at some point
> in the future?

The only change I have in mind is to allow a YAML document after the TAP
version line to encode global metadata about the test. I should probably
do that now - it's a five minute job.

-- 
Andy Armstrong, hexten.net



More information about the tapx-dev mailing list