stopwatch.t 1.49 KB
Newer Older
1 2
#!/usr/bin/env perl

3
# Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute
nwillhoft's avatar
nwillhoft committed
4
# Copyright [2016-2021] EMBL-European Bioinformatics Institute
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#      http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


use strict;
use warnings;

use Test::More;
use Data::Dumper;

BEGIN {
    ## at least it compiles
    use_ok( 'Bio::EnsEMBL::Hive::Utils::Stopwatch' );
}
#########################

my $total_stopwatch    = Bio::EnsEMBL::Hive::Utils::Stopwatch->new()->restart;
my $sleepfor_stopwatch = Bio::EnsEMBL::Hive::Utils::Stopwatch->new()->restart;
ok($sleepfor_stopwatch, 'and creates objects');
ok($total_stopwatch, 'and creates objects');

sleep(1);

$sleepfor_stopwatch->pause();
my $slept = $sleepfor_stopwatch->get_elapsed;

do_some_work();

is($slept, $sleepfor_stopwatch->get_elapsed, 'pausing pauses');

isnt($sleepfor_stopwatch->get_elapsed, $total_stopwatch->get_elapsed, 'different');

sub do_some_work {
    for(my $i = 0; $i < 1e6; ++$i){
	$i++ unless $i % 1e5;
    }
}

done_testing();