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