~giuseppe-maxia/mysql-sandbox/mysql-sandbox-3

« back to all changes in this revision

Viewing changes to t/Test_Helper.pm

  • Committer: g.maxia at gmail
  • Date: 2015-08-02 15:15:16 UTC
  • Revision ID: g.maxia@gmail.com-20150802151516-3blys2q56v788sc1
- Added default name for relay log files.
- Added 'show_binlog' script in each sandbox
- improved tests by getting all the version components from a single function call
- Added GTID initialization options for MySQL 5.6, 5.7, and MariaDB 10
- Added GTID enabling test for MySQL 5.6 and 5.7
- added and improved more tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
use warnings;
26
26
use base qw( Exporter);
27
27
our @ISA= qw(Exporter);
28
 
our @EXPORT_OK= qw( test_sandbox find_plugindir skip_all);
 
28
our @EXPORT_OK= qw( test_sandbox find_plugindir skip_all confirm_version);
29
29
our @EXPORT = @EXPORT_OK;
30
30
 
 
31
sub get_version_parts
 
32
{
 
33
    my ($version) = @_;
 
34
    if ($version =~ /(\d+)\.(\d+)\.(\d+)/)
 
35
    {
 
36
        my ($major, $minor, $rev) = ($1, $2, $3) ;
 
37
        return ($major, $minor, $rev);
 
38
    }    
 
39
    else
 
40
    {
 
41
        die "# version $version does not have expected components"
 
42
    }
 
43
}
 
44
 
 
45
sub confirm_version
 
46
{
 
47
    my ($min_version, $max_version) = @_;
 
48
    my $will_skip =0;
 
49
    my ($major, $minor, $rev) = get_version_parts($test_version);
 
50
    my ($major1, $minor1, $rev1) = get_version_parts($min_version);
 
51
    my ($major2, $minor2, $rev2) = get_version_parts($max_version);
 
52
    my $compare_test = sprintf("%05d-%05d-%05d", $major,  $minor,  $rev);
 
53
    my $compare_min  = sprintf("%05d-%05d-%05d", $major1, $minor1, $rev1);
 
54
    my $compare_max  = sprintf("%05d-%05d-%05d", $major2, $minor2, $rev2);
 
55
    unless (($compare_test ge $compare_min) && ($compare_test le $compare_max))
 
56
    {
 
57
        warn "# Skipping version $test_version for this test. It is not in the required range ($min_version - $max_version)\n";
 
58
        print "1..1\n";
 
59
        print "ok 1 # Test version $test_version is not in the required range for this test ($min_version - $max_version)\n";
 
60
        exit;
 
61
    }
 
62
}
 
63
 
31
64
sub test_sandbox {
32
65
    my ($cmd, $expected_tests, $informative) = @_;
33
66
    unless ($cmd) {