use lib ; use Test; use Test::Helpers; plan 5; # https://github.com/rakudo/rakudo/issues/1534 { (temp %*ENV) = 1, 1; is-run 「use Test; use Test; print "pass"」, :out, :compiler-args[<-I lib>], 'no SPESH crashes with duplicate `use Test`'; } lives-ok { class C { }; await start { for ^10_0000 { C.^set_name('B') } } xx 4 }, 'No SEGV when many threads try to change the debug type name'; # https://github.com/rakudo/rakudo/issues/3469 { use nqp; nqp::srand(1); my @first := nqp::rand_I(100,Int), nqp::rand_I(100,Int); nqp::srand(1); my @second := nqp::rand_I(100,Int), nqp::rand_I(100,Int); is-deeply @second, @first, 'does srand produce same rand_I values'; nqp::srand(1); @first := nqp::rand_n(100e0), nqp::rand_n(100e0); nqp::srand(1); @second := nqp::rand_n(100e0), nqp::rand_n(100e0); is-deeply @second, @first, 'does srand produce same rand_n values'; } lives-ok { my $l = Lock.new; for ^100_000 { try $l.clone } }, 'Repeatedly trying to clone a Lock does not lead to a crash'; # vim: expandtab shiftwidth=4