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
* 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
> 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