From: Vincent Pit Date: Fri, 15 May 2009 19:02:51 +0000 (+0200) Subject: Require threads 1.67 and threads::shared 1.14 in t/40-threads.t X-Git-Tag: v0.35~1 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FVariable-Magic.git;a=commitdiff_plain;h=a294e41c3d8c7d53b3a0cb56126b227142cb5ccd Require threads 1.67 and threads::shared 1.14 in t/40-threads.t Let's hope this will clear up the smokes a little. They are bundled with 5.10. --- diff --git a/t/40-threads.t b/t/40-threads.t index d2c536e..bd64663 100644 --- a/t/40-threads.t +++ b/t/40-threads.t @@ -3,31 +3,36 @@ use strict; use warnings; +sub skipall { + my ($msg) = @_; + require Test::More; + Test::More::plan(skip_all => $msg); +} + use Config qw/%Config/; BEGIN { - if (!$Config{useithreads}) { - require Test::More; - Test::More->import; - plan(skip_all => 'This perl wasn\'t built to support threads'); - } + my $t_v = '1.67'; + my $ts_v = '1.14'; + skipall 'This perl wasn\'t built to support threads' + unless $Config{useithreads}; + skipall "threads $t_v required to test thread safety" + unless eval "use threads $t_v; 1"; + skipall "threads::shared $ts_v required to test thread safety" + unless eval "use threads::shared $ts_v; 1"; } -use threads; # Before Test::More -use threads::shared; - -use Test::More; +use Test::More; # after threads use Variable::Magic qw/wizard cast dispell getdata VMG_THREADSAFE VMG_OP_INFO_NAME VMG_OP_INFO_OBJECT/; -if (VMG_THREADSAFE) { +BEGIN { + skipall 'This Variable::Magic isn\'t thread safe' unless VMG_THREADSAFE; plan tests => 2 * (4 * 18 + 1) + 2 * (4 * 13 + 1); my $v = $threads::VERSION; diag "Using threads $v" if defined $v; $v = $threads::shared::VERSION; diag "Using threads::shared $v" if defined $v; -} else { - plan skip_all => 'This Variable::Magic isn\'t thread safe'; } my $destroyed : shared = 0;