Pushed the lib/Percona/Toolkit.pm version, and added extra tests to t/lib/Percona/Toolkit.t

This commit is contained in:
Brian Fraser
2012-11-13 12:10:25 -03:00
parent 79a3ab3e0f
commit c811d60ae1
21 changed files with 208 additions and 68 deletions

View File

@@ -39,7 +39,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -1544,16 +1544,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;
@@ -2544,12 +2548,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -38,7 +38,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -36,7 +36,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -1756,12 +1756,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -38,7 +38,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -39,7 +39,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -90,12 +90,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}
@@ -188,16 +194,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;

View File

@@ -35,7 +35,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -1488,12 +1488,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}
@@ -1586,16 +1592,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;

View File

@@ -35,7 +35,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -1111,12 +1111,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -37,7 +37,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -2426,12 +2426,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}
@@ -2524,16 +2530,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;

View File

@@ -45,7 +45,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -473,12 +473,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}
@@ -2784,16 +2790,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;

View File

@@ -43,7 +43,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -4149,12 +4149,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -50,7 +50,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -46,7 +46,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -1499,12 +1499,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}
@@ -5286,16 +5292,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;

View File

@@ -64,7 +64,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -492,12 +492,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}
@@ -8103,16 +8109,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;

View File

@@ -36,7 +36,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -37,7 +37,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -88,12 +88,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -53,7 +53,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -3235,7 +3235,6 @@ use strict;
use warnings FATAL => 'all';
use English qw(-no_match_vars);
use Scalar::Util qw(blessed);
use constant {
PTDEBUG => $ENV{PTDEBUG} || 0,
PERCONA_TOOLKIT_TEST_USE_DSN_NAMES => $ENV{PERCONA_TOOLKIT_TEST_USE_DSN_NAMES} || 0,
@@ -3508,12 +3507,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -51,7 +51,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -58,7 +58,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}
@@ -464,16 +464,20 @@ $Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
local $EVAL_ERROR;
eval {
require Quoter;
};
sub new {
my ( $class, %args ) = @_;
my @required_args = qw(Quoter);
foreach my $arg ( @required_args ) {
die "I need a $arg argument" unless $args{$arg};
}
my $self = { %args };
$self->{Quoter} ||= Quoter->new();
return bless $self, $class;
}
sub Quoter { shift->{Quoter} }
sub get_create_table {
my ( $self, $dbh, $db, $tbl ) = @_;
die "I need a dbh parameter" unless $dbh;
@@ -893,12 +897,18 @@ sub quote_val {
sub split_unquote {
my ( $self, $db_tbl, $default_db ) = @_;
$db_tbl =~ s/`//g;
my ( $db, $tbl ) = split(/[.]/, $db_tbl);
if ( !$tbl ) {
$tbl = $db;
$db = $default_db;
}
for ($db, $tbl) {
next unless $_;
s/\A`//;
s/`\z//;
s/``/`/g;
}
return ($db, $tbl);
}

View File

@@ -40,7 +40,7 @@ BEGIN {
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -19,7 +19,7 @@
# ###########################################################################
{
package Percona::Toolkit;
our $VERSION = '2.1.5';
our $VERSION = '2.1.6';
1;
}

View File

@@ -10,11 +10,15 @@ use strict;
use warnings FATAL => 'all';
use Test::More;
use IPC::Cmd qw(run can_run);
use PerconaTest;
use Percona::Toolkit;
my $version = $Percona::Toolkit::VERSION;
my $perl = $^X;
use File::Basename qw(basename);
my @vc_tools = grep { chomp; basename($_) =~ /\A[a-z-]+\z/ } glob("$trunk/bin/*");
@@ -28,9 +32,36 @@ foreach my $tool ( @vc_tools ) {
$version,
"$base --version and Percona::Toolkit::VERSION agree"
);
}
use IPC::Cmd qw(can_run);
# Now let's check that lib/Percona/Toolkit.pm and each tool's
# $Percona::Toolkit::VERSION agree, sow e can avoid the 2.1.4 pt-table-sync
# debacle
open my $tmp_fh, q{<}, $tool or die "$!";
my $is_perl = scalar(<$tmp_fh>) =~ /perl/;
close $tmp_fh;
next unless $is_perl;
my ($success, undef, $full_buf) =
run(
command => [ $perl, '-le', "require q{$tool}; print \$Percona::Toolkit::VERSION"]
);
if ( !$success ) {
fail("Failed to get \$Percona::Toolkit::VERSION from $base: $full_buf")
}
else {
chomp(@$full_buf);
my $out = join "", @$full_buf;
if ($out) {
is(
"@$full_buf",
$version,
"$base and lib/Percona/Toolkit.pm agree"
);
}
}
}
my $bzr = can_run('bzr');
SKIP: {