mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-22 11:54:54 +00:00
68 lines
1.8 KiB
Perl
68 lines
1.8 KiB
Perl
#!/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 tests => 4;
|
|
|
|
use PerconaTest;
|
|
shift @INC; # our unshift (above)
|
|
shift @INC; # PerconaTest's unshift
|
|
require "$trunk/bin/pt-query-digest";
|
|
|
|
my @args = (qw(--no-report --no-gzip));
|
|
my $sample = "$trunk/t/lib/samples/slowlogs/";
|
|
my $ressample = "$trunk/t/pt-query-digest/samples/save-results/";
|
|
my $resdir = "/tmp/mqd-res/";
|
|
my $diff = "";
|
|
|
|
# Default results (95%). From slow002 that's 1 query.
|
|
diag(`rm -rf $resdir ; mkdir $resdir`);
|
|
pt_query_digest::main(@args, '--save-results', "$resdir/r1",
|
|
$sample.'slow002.txt');
|
|
ok(
|
|
-f "$resdir/r1",
|
|
"Saved results to file"
|
|
);
|
|
|
|
$diff = `diff $ressample/slow002.txt $resdir/r1 2>&1`;
|
|
is(
|
|
$diff,
|
|
'',
|
|
"slow002.txt saved results"
|
|
);
|
|
|
|
# Change --limit to save more queries.
|
|
diag(`rm -rf $resdir/*`);
|
|
pt_query_digest::main(@args, '--save-results', "$resdir/r1",
|
|
qw(--limit 3), $sample.'slow002.txt');
|
|
$diff = `diff $ressample/slow002-limit-3.txt $resdir/r1 2>&1`;
|
|
is(
|
|
$diff,
|
|
'',
|
|
"slow002.txt --limit 3 saved results"
|
|
);
|
|
|
|
# issue 1008: sprintf formatting in log events crashes it.
|
|
diag(`rm -rf $resdir/*`);
|
|
pt_query_digest::main(@args, '--save-results', "$resdir/r1",
|
|
$sample.'slow043.txt');
|
|
$diff = `diff $ressample/slow043.txt $resdir/r1 2>&1`;
|
|
is(
|
|
$diff,
|
|
'',
|
|
"slow043.txt did not crash with its %d format code"
|
|
);
|
|
|
|
# #############################################################################
|
|
# Done.
|
|
# #############################################################################
|
|
diag(`rm -rf $resdir`);
|
|
exit;
|