diff --git a/bin/pt-kill b/bin/pt-kill index 89ca8227..0cace6ce 100755 --- a/bin/pt-kill +++ b/bin/pt-kill @@ -7055,6 +7055,8 @@ sub main { $filtered_proclist = $proclist; } + $proclist = $filtered_proclist; + my @queries; if ( $proclist ) { # ################################################################## diff --git a/t/pt-kill/filter_plugin.t b/t/pt-kill/filter_plugin.t new file mode 100644 index 00000000..01a146e6 --- /dev/null +++ b/t/pt-kill/filter_plugin.t @@ -0,0 +1,42 @@ +#!/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 => 1; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-kill"; + +my $sample = "$trunk/t/lib/samples/pl"; +my $filter = "$trunk/t/pt-kill/samples"; +my @args = qw(--test-matching); +my $output; + +# ############################################################################# +# Basic filter +# ############################################################################# + +$output = output( + sub { pt_kill::main(@args, "$sample/recset010.txt", + '--filter', "$filter/filter002.txt", + qw(--match-all), + qw(--victims all --print)); } +); + +ok( + $output =~ /foo/m && $output !~ /bar/s, + "basic --filter function works" +); + +# ############################################################################# +# Done. +# ############################################################################# +exit; diff --git a/t/pt-kill/samples/filter002.txt b/t/pt-kill/samples/filter002.txt new file mode 100644 index 00000000..103e415f --- /dev/null +++ b/t/pt-kill/samples/filter002.txt @@ -0,0 +1,2 @@ +defined($event->{Info}) && $event->{Info} =~ /select.*foo/ +