Here's how it is as of 0.49.

If you want Test::More to be thread safe you have to "use threads"
yourself and do it before you use Test::More.  This is a change from
previous versions.  Previously I took the view that users will
probably get this wrong so I'll just do it for them.  The change was
because if T::M always turned threads on when available there were
certain things that became untestable.  This occured to me when I
tried to test the parts of threads::shared that happen when threads
are disabled.  It is very important that a testing module not modify
the environment it is testing.

I fixed the problem with names as references.  I find it kind of
annoying that I had to but I don't really understand threading nuances
to judge who's bug it is.

I think its nasty how many hoops Test::Builder has to jump through to
make itself thread safe especially considering that it never uses
threads itself.  This was 5.8.0 when I did it.  Things have hopefully
improved since then but I still have to support 5.8.0.  Alas.

Reply via email to