Skip to content

Commit d84d4ee

Browse files
committed
02_parallel_fast.t reproducer
1 parent 1c27c43 commit d84d4ee

3 files changed

Lines changed: 22 additions & 7 deletions

File tree

Build.PL

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ my %args = (
4848
script_files => [glob('script/*'), glob('bin/*')],
4949
PL_files => {},
5050

51-
test_files => ((-d '.git' || $ENV{RELEASE_TESTING}) && -d 'xt') ? 't/ xt/' : 't/',
51+
test_files => 't/02_parallel.t',
5252
recursive_test_files => 1,
53+
verbose => 1,
5354

5455

5556
);

run_coverage.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash -e
2+
count=0;
3+
perl Build.PL
4+
5+
while true; do
6+
count=$(($count + 1 ));
7+
echo "LOOP $count";
8+
TEST_SHARED=1 TEST_SUBREAPER=1 cover -test -report codecovbash
9+
# TEST_SHARED=1 TEST_SUBREAPER=1 cover -test -report text
10+
done
11+

t/02_parallel.t

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,20 @@ use strict;
55
use Test::More;
66
use POSIX;
77
use FindBin;
8+
use Time::HiRes qw(sleep);
89
use Mojo::File qw(tempfile path);
910
use lib ("$FindBin::Bin/lib", "../lib", "lib");
1011
use Mojo::IOLoop::ReadWriteProcess qw(parallel batch process pool);
1112

13+
my $sleepduration = 0;
14+
1215
subtest parallel => sub {
1316
my $n_proc = 4;
1417
my $fired;
1518

1619
my $c = parallel(
17-
code => sub { sleep 2; print "Hello world\n"; },
18-
kill_sleeptime => 1,
20+
code => sub { sleep $sleepduration; print "Hello world\n"; },
21+
kill_sleeptime => 1,
1922
sleeptime_during_kill => 1,
2023
separate_err => 1,
2124
set_pipes => 1,
@@ -34,7 +37,7 @@ subtest parallel => sub {
3437
$c->once(stop => sub { $fired++ });
3538
my $b = $c->restart();
3639
is $b, $c;
37-
sleep 3;
40+
sleep $sleepduration * 3;
3841
$c->wait_stop;
3942
is $fired, $n_proc * 2;
4043
};
@@ -47,7 +50,7 @@ subtest batch => sub {
4750
push(
4851
@stack,
4952
process(
50-
code => sub { sleep 2; print "Hello world\n" },
53+
code => sub { sleep $sleepduration; print "Hello world\n" },
5154
separate_err => 0,
5255
set_pipes => 1
5356
)) for (1 .. $n_proc);
@@ -93,7 +96,7 @@ subtest "Working with pools" => sub {
9396
code => sub {
9497
my $self = shift;
9598
my $number = shift;
96-
sleep 2;
99+
sleep $sleepduration;
97100
return 40 + $number;
98101
},
99102
args => $number,
@@ -138,7 +141,7 @@ subtest stress_test => sub {
138141
my $p = pool;
139142
$p->maximum_processes($n_proc);
140143
$p->add(
141-
code => sub { sleep 3; exit(20) },
144+
code => sub { sleep $sleepduration * 3; exit(20) },
142145
internal_pipes => 0,
143146
set_pipes => 0
144147
) for 1 .. $n_proc;

0 commit comments

Comments
 (0)