mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-12 22:19:44 +00:00
Fix Runtime.t and update it in all tools.
This commit is contained in:
@@ -4059,7 +4059,7 @@ use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
|||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ( $class, %args ) = @_;
|
my ( $class, %args ) = @_;
|
||||||
my @required_args = qw(run_time now);
|
my @required_args = qw(now);
|
||||||
foreach my $arg ( @required_args ) {
|
foreach my $arg ( @required_args ) {
|
||||||
die "I need a $arg argument" unless exists $args{$arg};
|
die "I need a $arg argument" unless exists $args{$arg};
|
||||||
}
|
}
|
||||||
|
@@ -3569,7 +3569,7 @@ use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
|||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ( $class, %args ) = @_;
|
my ( $class, %args ) = @_;
|
||||||
my @required_args = qw(run_time now);
|
my @required_args = qw(now);
|
||||||
foreach my $arg ( @required_args ) {
|
foreach my $arg ( @required_args ) {
|
||||||
die "I need a $arg argument" unless exists $args{$arg};
|
die "I need a $arg argument" unless exists $args{$arg};
|
||||||
}
|
}
|
||||||
|
@@ -10803,15 +10803,20 @@ sub new {
|
|||||||
my ( $class, %args ) = @_;
|
my ( $class, %args ) = @_;
|
||||||
my @required_args = qw(now);
|
my @required_args = qw(now);
|
||||||
foreach my $arg ( @required_args ) {
|
foreach my $arg ( @required_args ) {
|
||||||
die "I need a $arg argument" unless $args{$arg};
|
die "I need a $arg argument" unless exists $args{$arg};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ($args{runtime} || 0) < 0 ) {
|
my $run_time = $args{run_time};
|
||||||
die "runtime argument must be greater than zero"
|
if ( defined $run_time ) {
|
||||||
|
die "run_time must be > 0" if $run_time <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $now = $args{now};
|
||||||
|
die "now must be a callback" unless ref $now eq 'CODE';
|
||||||
|
|
||||||
my $self = {
|
my $self = {
|
||||||
%args,
|
run_time => $run_time,
|
||||||
|
now => $now,
|
||||||
start_time => undef,
|
start_time => undef,
|
||||||
end_time => undef,
|
end_time => undef,
|
||||||
time_left => undef,
|
time_left => undef,
|
||||||
@@ -10838,11 +10843,11 @@ sub time_left {
|
|||||||
|
|
||||||
return unless defined $now;
|
return unless defined $now;
|
||||||
|
|
||||||
my $runtime = $self->{runtime};
|
my $run_time = $self->{run_time};
|
||||||
return unless defined $runtime;
|
return unless defined $run_time;
|
||||||
|
|
||||||
if ( !$self->{end_time} ) {
|
if ( !$self->{end_time} ) {
|
||||||
$self->{end_time} = $now + $runtime;
|
$self->{end_time} = $now + $run_time;
|
||||||
PTDEBUG && _d("End time:", $self->{end_time});
|
PTDEBUG && _d("End time:", $self->{end_time});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10855,7 +10860,7 @@ sub have_time {
|
|||||||
my ( $self, %args ) = @_;
|
my ( $self, %args ) = @_;
|
||||||
my $time_left = $self->time_left(%args);
|
my $time_left = $self->time_left(%args);
|
||||||
return 1 if !defined $time_left; # run forever
|
return 1 if !defined $time_left; # run forever
|
||||||
return $time_left <= 0 ? 0 : 1; # <=0s means runtime has elapsed
|
return $time_left <= 0 ? 0 : 1; # <=0s means run time has elapsed
|
||||||
}
|
}
|
||||||
|
|
||||||
sub time_elapsed {
|
sub time_elapsed {
|
||||||
@@ -10881,7 +10886,7 @@ sub reset {
|
|||||||
$self->{end_time} = undef;
|
$self->{end_time} = undef;
|
||||||
$self->{time_left} = undef;
|
$self->{time_left} = undef;
|
||||||
$self->{stop} = 0;
|
$self->{stop} = 0;
|
||||||
PTDEBUG && _d("Reset runtime");
|
PTDEBUG && _d("Reset run time");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -12892,8 +12897,8 @@ sub main {
|
|||||||
$now_callback = sub { return; };
|
$now_callback = sub { return; };
|
||||||
}
|
}
|
||||||
$pipeline_data->{Runtime} = new Runtime(
|
$pipeline_data->{Runtime} = new Runtime(
|
||||||
now => $now_callback,
|
now => $now_callback,
|
||||||
runtime => $o->get('run-time'),
|
run_time => $o->get('run-time'),
|
||||||
);
|
);
|
||||||
|
|
||||||
$pipeline->add(
|
$pipeline->add(
|
||||||
|
@@ -8430,15 +8430,20 @@ sub new {
|
|||||||
my ( $class, %args ) = @_;
|
my ( $class, %args ) = @_;
|
||||||
my @required_args = qw(now);
|
my @required_args = qw(now);
|
||||||
foreach my $arg ( @required_args ) {
|
foreach my $arg ( @required_args ) {
|
||||||
die "I need a $arg argument" unless $args{$arg};
|
die "I need a $arg argument" unless exists $args{$arg};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ($args{runtime} || 0) < 0 ) {
|
my $run_time = $args{run_time};
|
||||||
die "runtime argument must be greater than zero"
|
if ( defined $run_time ) {
|
||||||
|
die "run_time must be > 0" if $run_time <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $now = $args{now};
|
||||||
|
die "now must be a callback" unless ref $now eq 'CODE';
|
||||||
|
|
||||||
my $self = {
|
my $self = {
|
||||||
%args,
|
run_time => $run_time,
|
||||||
|
now => $now,
|
||||||
start_time => undef,
|
start_time => undef,
|
||||||
end_time => undef,
|
end_time => undef,
|
||||||
time_left => undef,
|
time_left => undef,
|
||||||
@@ -8465,11 +8470,11 @@ sub time_left {
|
|||||||
|
|
||||||
return unless defined $now;
|
return unless defined $now;
|
||||||
|
|
||||||
my $runtime = $self->{runtime};
|
my $run_time = $self->{run_time};
|
||||||
return unless defined $runtime;
|
return unless defined $run_time;
|
||||||
|
|
||||||
if ( !$self->{end_time} ) {
|
if ( !$self->{end_time} ) {
|
||||||
$self->{end_time} = $now + $runtime;
|
$self->{end_time} = $now + $run_time;
|
||||||
PTDEBUG && _d("End time:", $self->{end_time});
|
PTDEBUG && _d("End time:", $self->{end_time});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8482,7 +8487,7 @@ sub have_time {
|
|||||||
my ( $self, %args ) = @_;
|
my ( $self, %args ) = @_;
|
||||||
my $time_left = $self->time_left(%args);
|
my $time_left = $self->time_left(%args);
|
||||||
return 1 if !defined $time_left; # run forever
|
return 1 if !defined $time_left; # run forever
|
||||||
return $time_left <= 0 ? 0 : 1; # <=0s means runtime has elapsed
|
return $time_left <= 0 ? 0 : 1; # <=0s means run time has elapsed
|
||||||
}
|
}
|
||||||
|
|
||||||
sub time_elapsed {
|
sub time_elapsed {
|
||||||
@@ -8508,7 +8513,7 @@ sub reset {
|
|||||||
$self->{end_time} = undef;
|
$self->{end_time} = undef;
|
||||||
$self->{time_left} = undef;
|
$self->{time_left} = undef;
|
||||||
$self->{stop} = 0;
|
$self->{stop} = 0;
|
||||||
PTDEBUG && _d("Reset runtime");
|
PTDEBUG && _d("Reset run time");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8821,8 +8826,8 @@ sub main {
|
|||||||
my $have_time;
|
my $have_time;
|
||||||
if ( my $run_time = $o->get('run-time') ) {
|
if ( my $run_time = $o->get('run-time') ) {
|
||||||
my $rt = Runtime->new(
|
my $rt = Runtime->new(
|
||||||
now => sub { return time; },
|
now => sub { return time; },
|
||||||
runtime => $run_time,
|
run_time => $run_time,
|
||||||
);
|
);
|
||||||
$have_time = sub { return $rt->have_time(); };
|
$have_time = sub { return $rt->have_time(); };
|
||||||
}
|
}
|
||||||
|
@@ -5059,15 +5059,20 @@ sub new {
|
|||||||
my ( $class, %args ) = @_;
|
my ( $class, %args ) = @_;
|
||||||
my @required_args = qw(now);
|
my @required_args = qw(now);
|
||||||
foreach my $arg ( @required_args ) {
|
foreach my $arg ( @required_args ) {
|
||||||
die "I need a $arg argument" unless $args{$arg};
|
die "I need a $arg argument" unless exists $args{$arg};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ($args{runtime} || 0) < 0 ) {
|
my $run_time = $args{run_time};
|
||||||
die "runtime argument must be greater than zero"
|
if ( defined $run_time ) {
|
||||||
|
die "run_time must be > 0" if $run_time <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $now = $args{now};
|
||||||
|
die "now must be a callback" unless ref $now eq 'CODE';
|
||||||
|
|
||||||
my $self = {
|
my $self = {
|
||||||
%args,
|
run_time => $run_time,
|
||||||
|
now => $now,
|
||||||
start_time => undef,
|
start_time => undef,
|
||||||
end_time => undef,
|
end_time => undef,
|
||||||
time_left => undef,
|
time_left => undef,
|
||||||
@@ -5094,11 +5099,11 @@ sub time_left {
|
|||||||
|
|
||||||
return unless defined $now;
|
return unless defined $now;
|
||||||
|
|
||||||
my $runtime = $self->{runtime};
|
my $run_time = $self->{run_time};
|
||||||
return unless defined $runtime;
|
return unless defined $run_time;
|
||||||
|
|
||||||
if ( !$self->{end_time} ) {
|
if ( !$self->{end_time} ) {
|
||||||
$self->{end_time} = $now + $runtime;
|
$self->{end_time} = $now + $run_time;
|
||||||
PTDEBUG && _d("End time:", $self->{end_time});
|
PTDEBUG && _d("End time:", $self->{end_time});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5111,7 +5116,7 @@ sub have_time {
|
|||||||
my ( $self, %args ) = @_;
|
my ( $self, %args ) = @_;
|
||||||
my $time_left = $self->time_left(%args);
|
my $time_left = $self->time_left(%args);
|
||||||
return 1 if !defined $time_left; # run forever
|
return 1 if !defined $time_left; # run forever
|
||||||
return $time_left <= 0 ? 0 : 1; # <=0s means runtime has elapsed
|
return $time_left <= 0 ? 0 : 1; # <=0s means run time has elapsed
|
||||||
}
|
}
|
||||||
|
|
||||||
sub time_elapsed {
|
sub time_elapsed {
|
||||||
@@ -5137,7 +5142,7 @@ sub reset {
|
|||||||
$self->{end_time} = undef;
|
$self->{end_time} = undef;
|
||||||
$self->{time_left} = undef;
|
$self->{time_left} = undef;
|
||||||
$self->{stop} = 0;
|
$self->{stop} = 0;
|
||||||
PTDEBUG && _d("Reset runtime");
|
PTDEBUG && _d("Reset run time");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6613,8 +6618,8 @@ sub main {
|
|||||||
|
|
||||||
{ # terminator
|
{ # terminator
|
||||||
my $runtime = new Runtime(
|
my $runtime = new Runtime(
|
||||||
now => sub { return time },
|
now => sub { return time },
|
||||||
runtime => $o->get('run-time'),
|
run_time => $o->get('run-time'),
|
||||||
);
|
);
|
||||||
|
|
||||||
$pipeline->add(
|
$pipeline->add(
|
||||||
|
@@ -27,7 +27,7 @@ use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
|||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ( $class, %args ) = @_;
|
my ( $class, %args ) = @_;
|
||||||
my @required_args = qw(run_time now);
|
my @required_args = qw(now);
|
||||||
foreach my $arg ( @required_args ) {
|
foreach my $arg ( @required_args ) {
|
||||||
die "I need a $arg argument" unless exists $args{$arg};
|
die "I need a $arg argument" unless exists $args{$arg};
|
||||||
}
|
}
|
||||||
|
@@ -20,7 +20,7 @@ use Runtime;
|
|||||||
|
|
||||||
my $runtime = new Runtime(
|
my $runtime = new Runtime(
|
||||||
now => sub { return time; },
|
now => sub { return time; },
|
||||||
runtime => 3,
|
run_time => 3,
|
||||||
);
|
);
|
||||||
|
|
||||||
is(
|
is(
|
||||||
@@ -91,7 +91,7 @@ is(
|
|||||||
|
|
||||||
$runtime = new Runtime(
|
$runtime = new Runtime(
|
||||||
now => sub { return time; },
|
now => sub { return time; },
|
||||||
# runtime => undef, # forever
|
# run_time => undef, # forever
|
||||||
);
|
);
|
||||||
|
|
||||||
is(
|
is(
|
||||||
@@ -125,7 +125,7 @@ is(
|
|||||||
|
|
||||||
$runtime = new Runtime(
|
$runtime = new Runtime(
|
||||||
now => sub { return time; },
|
now => sub { return time; },
|
||||||
runtime => 3,
|
run_time => 3,
|
||||||
);
|
);
|
||||||
|
|
||||||
is(
|
is(
|
||||||
@@ -149,7 +149,7 @@ is(
|
|||||||
my @time = qw(0 3 7 9);
|
my @time = qw(0 3 7 9);
|
||||||
$runtime = new Runtime(
|
$runtime = new Runtime(
|
||||||
now => sub { return shift @time; },
|
now => sub { return shift @time; },
|
||||||
runtime => 8,
|
run_time => 8,
|
||||||
);
|
);
|
||||||
|
|
||||||
is(
|
is(
|
||||||
|
Reference in New Issue
Block a user