Re: Invalid value for shared scalar

2004-10-15 Thread Michael G Schwern
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 b

Re: Invalid value for shared scalar

2004-08-27 Thread Andrew Pimlott
On Fri, Aug 27, 2004 at 12:06:47PM -0700, chromatic wrote: > It doesn't matter how *you* see Perl threads if users who may run your > tests see them as worth using First, as I said, I agree with you "ideally". I understand all the points you're making, and they're basically valid. But the realit

Re: Invalid value for shared scalar

2004-08-27 Thread chromatic
On Fri, 2004-08-27 at 11:03, Andrew Pimlott wrote: > And most tests, even of threaded code, will call T::B from a single thread > anyhow. How do you know what tests people will write? How do you know where people will run those tests? > There are two ways to do the compromise: > > 1. Go threa

Re: Invalid value for shared scalar

2004-08-27 Thread Andrew Pimlott
On Fri, Aug 27, 2004 at 09:20:09AM -0700, chromatic wrote: > If you don't have an ithreads-capable Perl, T::B won't use threads. > > If you do, it must, Ideally, I would agree. But I think a compromise is in order, because perl threads aren't that mature and are error-prone to program. And most

Re: Invalid value for shared scalar

2004-08-27 Thread Andrew Pimlott
On Fri, Aug 27, 2004 at 10:16:48AM +0200, Rafael Garcia-Suarez wrote: > Andrew Pimlott wrote: > > > > Can you tell me where this limitation in perl threads is documented? > > Is there any hope that it will be removed in the future? > > It's not a limitation, if you share a hash it looks normal to

Re: Invalid value for shared scalar

2004-08-27 Thread chromatic
On Fri, 2004-08-27 at 01:09, Andrew Pimlott wrote: > I would still prefer that Test::Builder not use threads if I don't ask > for it. if( $] >= 5.008 && $Config{useithreads} ) { require threads; require threads::shared; threads::shared->import; } If you don't have

Re: Invalid value for shared scalar

2004-08-27 Thread Rafael Garcia-Suarez
Andrew Pimlott wrote: > > Can you tell me where this limitation in perl threads is documented? > Is there any hope that it will be removed in the future? It's not a limitation, if you share a hash it looks normal to me that you should share its elements too. (or you end up with weird quantum hash

Re: Invalid value for shared scalar

2004-08-27 Thread Andrew Pimlott
On Fri, Aug 27, 2004 at 09:24:20AM +0200, Rafael Garcia-Suarez wrote: > In this case that's a bug in Test::Builder, not in perl. Sure, but it is a very easy bug to make. For perfectly normal code to break with threads is scary to me. And the fix looks fragile, especially without a comment. I wo

Re: Invalid value for shared scalar

2004-08-27 Thread Rafael Garcia-Suarez
Andrew Pimlott wrote: > I got this error, which I traced down to accidentally calling is() with > a hashref as the third argument, where the name should have been: > > use Test::More 'no_plan'; > is(1,1,{}); Autrijus has fixed this bug in bleadperl, see the patch at http://public.act

Invalid value for shared scalar

2004-08-26 Thread Andrew Pimlott
I got this error, which I traced down to accidentally calling is() with a hashref as the third argument, where the name should have been: use Test::More 'no_plan'; is(1,1,{}); This happens because Test::Builder tries to assign the name to a key of a shared hash. This simple case demonstr