Bug 18055: Speed up '00-strict.t' test, with Parallel::ForkManager

add KOHA_PROVE_CPUS envar to manually set number of cpus

to test..

1/ set number of cpus to 1
 $ export KOHA_PROVE_CPUS=1

2/ observe 1 cpus are used
 $ time prove -v  t/db_dependent/00-strict.t
 t/db_dependent/00-strict.t ..
 Using 1 CPUs...

3/ unset number of cpus
 $ export KOHA_PROVE_CPUS=

4/ observe all available cpus are used
 $ time prove -v  t/db_dependent/00-strict.t
 t/db_dependent/00-strict.t ..
 Using 32 CPUs...

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Mason James 2017-06-16 01:20:05 +12:00 committed by Jonathan Druart
parent ac38492107
commit 735b4e0fc0
1 changed files with 4 additions and 2 deletions

View File

@ -39,12 +39,14 @@ $Test::Strict::TEST_STRICT = 0;
$Test::Strict::TEST_SKIP = [ 'misc/kohalib.pl', 'misc/plack/koha.psgi' ];
my $ncpu;
if ( $ENV{KOHA_JENKINS} ) {
$ncpu = 2; # works fastest on kc.org jenkins box
if ( $ENV{KOHA_PROVE_CPUS} ) {
$ncpu = $ENV{KOHA_PROVE_CPUS} ; # set number of cpus to use
} else {
$ncpu = Sys::CPU::cpu_count();
}
print "Using $ncpu CPUs...\n";
my $pm = new Parallel::ForkManager($ncpu);
foreach my $d (@dirs) {