As briefly discussed on #perl6 ...

Now that we are fulfilling an intention for Perl 6 to have multiple fully decoupled implementations that are distinct from its spec, Pugs and v6.pm being the largest short term examples, I propose that we make like Sun and its Java VM validation suite, and start distributing the Perl 6 test suite as its own distribution on CPAN, which Perl6::Pugs and v6 then have as optional (for testing only) external dependencies.

This way, for example, people who just want to use the pure Perl 5 v6.pm implementation of Perl 6 don't have to download Pugs in order to test it.

Audrey suggested that it could be named v6::tests ... I previously to that suggested Perl6::Certification ... and other suggestions are welcome.

From that point onward, neither the Perl6::Pugs nor v6 distros would include their own test suites, or such would be extremely basic. Their 'make test' and 'make smoke' would instead call out to v6::tests.

(A substantial part of the testing and/or smoking harness should probably also be included, so people that use it get more consistent formatted results that can be compared, though some details will need to be in the individual implementation distros, as only they know how they are invoked. Whether that is written in Perl 6 or Perl 5 or something else is less of an issue short term.)

On a separate but related matter, I suggest also separating anything else that isn't Pugs specific, that is common to both it and v6, from the Pugs distro and distributing those separately. This includes the contents of: examples/ , ext/, some of docs/, some of util/, and so on.

These various distros can be distributed on their own schedule, as frequent or infrequent as makes sense, just as v6 and Moose et al are.

As to whether any of the above are still maintained within Pugs SVN or moved to separate SVN, that is a possibly orthogonal matter.

Seeing as the next Pugs release, 6.28.0, is psychologically a major release, I suggest that the various decoupling I am talking about above be accomplished prior to that, so that Pugs 6.28.0 and later are slimmed down and don't contain the shared components. The Pugs only distro will probably feature what is in src/ now and what is needed to support that. Audrey suggested separation before OSCON, even.

Of course, feedback always welcome.

-- Darren Duncan

Reply via email to