diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index e9bf7a96..1464e4d8 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -2236,8 +2236,10 @@ report_mysql_summary () { TOOL="pt-mysql-summary" -CMD_MYSQL="$(_which mysql)" -CMD_MYSQLDUMP="$( _which mysqldump )" +# These vars are declared earlier in the collect_mysql_info package, +# but if they're still undefined here, try to find them in PATH. +[ "$CMD_MYSQL" ] || CMD_MYSQL="$(_which mysql)" +[ "$CMD_MYSQLDUMP" ] || CMD_MYSQLDUMP="$( _which mysqldump )" check_mysql () { # Check that mysql and mysqldump are in PATH. If not, we're diff --git a/t/pt-mysql-summary/pt-mysql-summary.t b/t/pt-mysql-summary/pt-mysql-summary.t index 8898d2d9..c3859a46 100644 --- a/t/pt-mysql-summary/pt-mysql-summary.t +++ b/t/pt-mysql-summary/pt-mysql-summary.t @@ -14,18 +14,23 @@ use PerconaTest; my ($tool) = $PROGRAM_NAME =~ m/([\w-]+)\.t$/; -use Test::More tests => 7; +use Test::More; use File::Temp qw( tempdir ); local $ENV{PTDEBUG} = ""; +# mysqldump from earlier versions doesn't seem to work with 5.6, +# so use the actual mysqldump from each MySQL bin which should +# always be compatible with itself. +my $env = qq\CMD_MYSQLDUMP="$ENV{PERCONA_TOOLKIT_SANDBOX}/bin/mysqldump"\; + # # --save-samples # my $dir = tempdir( "percona-testXXXXXXXX", CLEANUP => 1 ); -`$trunk/bin/$tool --sleep 1 --save-samples $dir -- --defaults-file=/tmp/12345/my.sandbox.cnf`; +`$env $trunk/bin/$tool --sleep 1 --save-samples $dir -- --defaults-file=/tmp/12345/my.sandbox.cnf`; ok( -e $dir, @@ -41,13 +46,13 @@ ok( "And leaves all files in there" ) or diag($n_files, `ls -l $dir`); -undef($dir); +undef($dir); # rm the dir because CLEANUP => 1 # # --databases # -my $out = `$trunk/bin/$tool --sleep 1 --databases mysql 2>/dev/null -- --defaults-file=/tmp/12345/my.sandbox.cnf`; +my $out = `$env $trunk/bin/$tool --sleep 1 --databases mysql 2>/dev/null -- --defaults-file=/tmp/12345/my.sandbox.cnf`; like( $out, @@ -61,7 +66,7 @@ for my $i (2..5) { no_diff( sub { local $ENV{_NO_FALSE_NEGATIVES} = 1; - print `$trunk/bin/$tool --read-samples $trunk/t/pt-mysql-summary/samples/temp00$i -- --defaults-file=/tmp/12345/my.sandbox.cnf | tail -n+3 | perl -wlnpe 's/Skipping schema analysis.*/Skipping schema analysis/'` + print `$env $trunk/bin/$tool --read-samples $trunk/t/pt-mysql-summary/samples/temp00$i -- --defaults-file=/tmp/12345/my.sandbox.cnf | tail -n+3 | perl -wlnpe 's/Skipping schema analysis.*/Skipping schema analysis/'` }, "t/pt-mysql-summary/samples/expected_output_temp00$i.txt", ), @@ -69,4 +74,4 @@ for my $i (2..5) { ); } -exit; +done_testing;