From 02a21749b047d38193c72ffd4d537d2cfd1f6d31 Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Wed, 7 Nov 2012 04:35:43 -0300 Subject: [PATCH 1/2] Added t/lib/Percona/Toolkit.t --- t/lib/Percona/Toolkit.t | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 t/lib/Percona/Toolkit.t diff --git a/t/lib/Percona/Toolkit.t b/t/lib/Percona/Toolkit.t new file mode 100644 index 00000000..bc8ea804 --- /dev/null +++ b/t/lib/Percona/Toolkit.t @@ -0,0 +1,48 @@ +#!/usr/bin/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 Test::More; + +use PerconaTest; +use Percona::Toolkit; + +my $version = $Percona::Toolkit::VERSION; + +use File::Basename qw(basename); +my @vc_tools = grep { chomp; basename($_) =~ /\A[a-z-]+\z/ } glob("$trunk/bin/*"); + +foreach my $tool ( @vc_tools ) { + my $output = `$tool --version 2>/dev/null`; + my ($tool_version) = $output =~ /(\b[0-9]\.[0-9]\.[0-9]\b)/; + next unless $tool_version; # Some tools don't have --version implemented + is( + $tool_version, + $version, + "$tool --version and Percona::Toolkit::VERSION agree" + ); +} + +use IPC::Cmd qw(can_run); + +my $bzr = can_run('bzr'); +SKIP: { + skip "Can't run bzr, skipping tag checking", 1 unless $bzr; + + my @tags = split /\n/, `bzr tags`; + my ($current_tag) = $tags[-1] =~ /^(\S+)/; + + is( + $current_tag, + $version, + "bzr tags and Percona::Toolkit::VERSION agree" + ); +} + +done_testing; From 470c4b9d41d5096b50f2d02668df3fc0e2dbe495 Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Wed, 7 Nov 2012 04:42:04 -0300 Subject: [PATCH 2/2] Add some extra safety to t/lib/Percona/Toolkit.t in case we are not ebing run under a bzr directory --- t/lib/Percona/Toolkit.t | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/t/lib/Percona/Toolkit.t b/t/lib/Percona/Toolkit.t index bc8ea804..9a69cacf 100644 --- a/t/lib/Percona/Toolkit.t +++ b/t/lib/Percona/Toolkit.t @@ -22,10 +22,11 @@ foreach my $tool ( @vc_tools ) { my $output = `$tool --version 2>/dev/null`; my ($tool_version) = $output =~ /(\b[0-9]\.[0-9]\.[0-9]\b)/; next unless $tool_version; # Some tools don't have --version implemented + my $base = basename($tool); is( $tool_version, $version, - "$tool --version and Percona::Toolkit::VERSION agree" + "$base --version and Percona::Toolkit::VERSION agree" ); } @@ -34,8 +35,11 @@ use IPC::Cmd qw(can_run); my $bzr = can_run('bzr'); SKIP: { skip "Can't run bzr, skipping tag checking", 1 unless $bzr; - - my @tags = split /\n/, `bzr tags`; + chomp(my $root = `$bzr root 2>/dev/null`); + skip '$trunk and bzr root differ, skipping tag checking' + unless $root eq $trunk; + + my @tags = split /\n/, `$bzr tags`; my ($current_tag) = $tags[-1] =~ /^(\S+)/; is(