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