1 2 3 4 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
#!/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;
require "$trunk/bin/pt-query-digest";
# #############################################################################
# Issue 476: parse binary logs.
# #############################################################################
# We want the profile report so we can check that queries like
# CREATE DATABASE are distilled correctly.
my @args = ('--report-format', 'header,query_report,profile', '--type', 'binlog');
my $sample = "$trunk/t/lib/samples/binlogs/";
ok(
no_diff(
sub { pt_query_digest::main(@args, $sample.'binlog001.txt') },
"t/pt-query-digest/samples/binlog001.txt"
),
'Analysis for binlog001',
) or diag($test_diff);
ok(
no_diff(
sub { pt_query_digest::main(@args, $sample.'binlog002.txt') },
"t/pt-query-digest/samples/binlog002.txt"
),
'Analysis for binlog002',
) or diag($test_diff);
ok(
no_diff(
sub { pt_query_digest::main(@args, $sample.'binlog011.txt') },
"t/pt-query-digest/samples/binlog011.txt"
),
'Analysis for binlog011 - Handles 5.6 binlog with checksum CRC32',
) or diag($test_diff);
# #############################################################################
# Issue 1377888: refuse to parse raw binary log
# #############################################################################
my $output = output(
sub { pt_query_digest::main(@args, "$trunk/t/lib/samples/binlogs/raw_binlog.log") },
stderr => 1
);
like(
$output,
qr/mysqlbinlog/i,
'Refuses to parse raw binlog file'
);
# #############################################################################
# Done.
# #############################################################################
exit;
|