7 use VPIT::TestHelpers threads => [ 'indirect' => 'indirect::I_THREADSAFE()' ];
13 qr/^Indirect call of method "new" on object "$pkg" at \(eval \d+\) line \d+/;
18 no indirect 'global', 'hook' => sub { $error = indirect::msg(@_) };
21 my $tid = threads->tid();
23 for my $run (1 .. 2) {
24 my $desc = "global indirect hook (thread $tid, run $run)";
25 my $class = "Mango$tid";
28 local $SIG{__WARN__} = sub { push @warns, @_ };
29 eval "return; my \$x = new $class 1, 2;"
31 is $@, '', "$desc: did not croak";
32 is_deeply \@warns, [ ], "$desc: no warnings";
33 like $error, expect($class), "$desc: correct error";
37 my @threads = map spawn(\&try), 1 .. 10;
39 $_->join for @threads;