mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-22 20:19:00 +00:00
Test --run-time and --progress.
This commit is contained in:
80
t/pt-upgrade/run_time.t
Normal file
80
t/pt-upgrade/run_time.t
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
BEGIN {
|
||||
die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
|
||||
unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
|
||||
unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
|
||||
};
|
||||
|
||||
use strict;
|
||||
use warnings FATAL => 'all';
|
||||
use English qw(-no_match_vars);
|
||||
use Test::More;
|
||||
use Time::HiRes qw(time);
|
||||
|
||||
$ENV{PERCONA_TOOLKIT_TEST_USE_DSN_NAMES} = 1;
|
||||
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
require "$trunk/bin/pt-upgrade";
|
||||
|
||||
# This runs immediately if the server is already running, else it starts it.
|
||||
#diag(`$trunk/sandbox/start-sandbox master 12348 >/dev/null`);
|
||||
|
||||
my $dp = new DSNParser(opts=>$dsn_opts);
|
||||
my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
|
||||
my $dbh1 = $sb->get_dbh_for('host1');
|
||||
my $dbh2 = $sb->get_dbh_for('host2');
|
||||
|
||||
if ( !$dbh1 ) {
|
||||
plan skip_all => 'Cannot connect to sandbox host1';
|
||||
}
|
||||
elsif ( !$dbh2 ) {
|
||||
plan skip_all => 'Cannot connect to sandbox host2';
|
||||
}
|
||||
|
||||
my $host1_dsn = $sb->dsn_for('host1');
|
||||
my $host2_dsn = $sb->dsn_for('host2');
|
||||
my $samples = "$trunk/t/pt-upgrade/samples";
|
||||
my $exit_status = 0;
|
||||
my $output;
|
||||
|
||||
my $t0 = time;
|
||||
|
||||
$output = output(
|
||||
sub {
|
||||
$exit_status = pt_upgrade::main($host1_dsn, $host2_dsn,
|
||||
"$samples/slow_slow.log", qw(--run-time 3),
|
||||
'--progress', 'time,1',
|
||||
)},
|
||||
stderr => 1,
|
||||
);
|
||||
|
||||
my $t = time - $t0;
|
||||
|
||||
ok(
|
||||
$t >= 3 && $t <= 6,
|
||||
"Ran for roughly --run-time seconds"
|
||||
) or diag($output, 'Actual run time:', $t);
|
||||
|
||||
# Exit status 8 = --run-time expired (an no other errors/problems)
|
||||
is(
|
||||
$exit_status,
|
||||
8,
|
||||
"Exit status 8"
|
||||
) or diag($output);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/Executing queries.+?remain/,
|
||||
"--progress while executing queries"
|
||||
);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
#$sb->wipe_clean($dbh2);
|
||||
$sb->wipe_clean($dbh1);
|
||||
#diag(`$trunk/sandbox/stop-sandbox 12348 >/dev/null`);
|
||||
#ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
|
||||
done_testing;
|
30
t/pt-upgrade/samples/slow_slow.log
Normal file
30
t/pt-upgrade/samples/slow_slow.log
Normal file
@@ -0,0 +1,30 @@
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
||||
# User@Host: root[root] @ localhost []
|
||||
# Query_time: 1 Lock_time: 0 Rows_sent: 7 Rows_examined: 7
|
||||
select sleep(1);
|
Reference in New Issue
Block a user