Blame t/threads.t

Packit f354a3
use strict;
Packit f354a3
use warnings;
Packit f354a3
use Test::More;
Packit f354a3
use Config;
Packit f354a3
Packit f354a3
BEGIN {
Packit f354a3
    plan skip_all => 'Perl compiled without ithreads'
Packit f354a3
        unless $Config{useithreads};
Packit f354a3
    plan skip_all => 'no threads.pm'
Packit f354a3
        unless eval { require threads };
Packit f354a3
    plan tests => 2;
Packit f354a3
}
Packit f354a3
Packit f354a3
use threads;
Packit f354a3
use Digest::MD5;
Packit f354a3
Packit f354a3
my $module = 'Digest::MD5';
Packit f354a3
Packit f354a3
my $obj = $module->new;
Packit f354a3
$obj->add("foo");
Packit f354a3
my $tdigest = threads->create(sub { $obj->add("bar"); $obj->hexdigest })->join;
Packit f354a3
Packit f354a3
isnt $obj->clone->hexdigest, $tdigest, "unshared object unaffected by the thread";
Packit f354a3
Packit f354a3
$obj->add("bar");
Packit f354a3
is $obj->clone->hexdigest, $tdigest;