On October 29th, 2015, I released Test-Stream as stable. I did this because
I felt it was ready, and because I was no longer receiving any feedback from
perl-qa asking me to change things. Since that release, the feedback picked
up substantially. It seems that declaring something done is the best way
to find out ways in which it is not actually done.
Here are the big things people wanted:
- Split the dist into multiple dists, making the internals and tools
- Abandon the loader system (use Test::Stream -/:/etc)
- Loosen the tight coupling of Test::Steam to TAP
- Make context() less magic (don't use INTERNALS::SvREFCNT)
- Use less import() magic
- Better namespace structuring
- Changes to how SKIP and TODO are implemented
We decided that the best way forward was to forget about compatibility
with Test-Stream, which is still new enough that it is not seeing much use,
and make a new name with
everyone's changes. That's Test2.
After the split there are 3 distributions:
- Test2 (https://metacpan.org/pod/Test2) - The guts. No tools, just the
things to make tools. This is what Test::Builder will be using.
- Test2::Suite (https://metacpan.org/pod/Test2::Suite) - New tools as an
alternative to Test::More and friends, built directly on Test2 instead of
- Test2::Workflow (https://metacpan.org/pod/Test2::Workflow) - The 'spec'
plugin and workflow extension from Test::Stream. This was big enough to
a separate distribution.
Test2::Suite and Test2::Workflow are optional systems. I think you'll
find them very useful, but they're not the key deliverable. That's
Test2, which is meant to replace Test::Builder's guts. Test::Builder
will be a backward compatibility layer on top of Test2.
As of the latest releases of Test2 and Test2-Suite I am considering the work
done to my specifications and intentions. Now is the time to review these
and make commentary. Once this goes stable it will become much harder, if
not impossible, to make sweeping changes. If there is anything in these
distributions (Test2 in particular) that makes you uncomfortable, you
need to speak now. I am not yet ready to say Test2-Workflow is complete.
The work to make Test::Builder use Test2 under the hood is also complete.
On Github: https://github.com/Test-More/test-more/tree/Test2/master
Blead Patch Ticket:
This work has been through several verification procedures:
- CPAN Smoking by Andreas König
- My own testing against CPAN distributions
- Blead patches I have written (though to date nobody has merged it in)
- A comparison of verbose testing output on blead with and without my
Note: The preferred form of feedback is tickets on the relevant github