On 8/12/06, jerry gay <[EMAIL PROTECTED]> wrote:
for "managed," i have a few ideas. currently, the suite lives in the
pugs repo. this is a fine first approximation, but i believe it will
soon be time to move this suite[3]. the question is, should it be
moved into their own repository, or into the repo of the "official"
perl6 implementation (if such a beast will indeed exist,) or should it
live in some other place i haven't thought of yet? the options here
are limited, and i believe straightforward. it should be easy to come
to an agreement and take action.


I'm oppose to moving the Perl 6 test suit from Pugs repos any "soon".
The test suit itself needs to evolve and be verified by means of the
most complete Perl 6 implementation, Pugs. Yes, it's odd to say tests
should be verified by implementations, but my experience in writing
tests for Pugs has told me that bugs in the tests themselves can be
found more easily by interacting them with some featureful
implementation. I've got the feeling that the Pugs test suit and the
Pugs implementation heavily depend on each other. Keeping them in the
same repos is very important, at least for the foreseeable future.


this last testing rule i mentioned becomes somewhat problematic when
designing a test suite for use by multiple perl6 implementations. it
is obvious that some implementations of perl6 will not pass all tests,
and will need to mark certain tests as todo() and skip() in order to
run the suite successfully.


IIRC, for the p6-on-p5 implementation, clkao has implemented some kind
of magic (in Makefile.PL?) to copying passing test files from Pugs
test suit to v6-alpha's own directory. Of course, it's far from ideal,
but i think it's a good enough solution to the current (early) stage
of development.

I've added the plan for the neutral todo mechanism to Pugs' TASKS
file, getting help from many others on #perl6. The new todo marks look
like this:

  todo :pugs<6.28.0>, :p6p5<0.110>, :parrot<1.00>;
  is $got, $expected;  # affected by the preceding todo call

or equivalently,

   is $got, $expected, todo :pugs<6.2.13>, :p6p5<0.110>;

Please see the TASKS file for details:

  http://svn.openfoundry.org/pugs/TASKS

Happily, Audrey has already implemented the $?PUGS_VERSION variable,
which can ease the implementation of such &todo subs:

   audreyt              ?eval $?PUGS_VERSION
   evalbot_12101   \"Perl6 User\'s Golfing System, version 6.2.12,
June 26, 2006 (r12101)"
   agentzh            w00t!
                          &Test::todo can use this.

I believe it's a good short-term solution. Closure traits like TODO
{...} are also good complements to it.

Cheers,
Agent

Reply via email to