List:Commits« Previous MessageNext Message »
From:magnus.blaudd Date:November 13 2012 6:30pm
Subject:bzr push into mysql-5.6 branch (magnus.blaudd:4584 to 4586)
View as plain text  
 4586 magnus.blaudd@stripped	2012-11-13 [merge]
      Merge 5.5 -> 5.6

 4585 magnus.blaudd@stripped	2012-11-13 [merge]
      Merge

    modified:
      mysql-test/lib/mtr_cases.pm
      mysql-test/mysql-test-run.pl
 4584 Alexander Nozdrin	2012-11-13
      Bug#14823837: RPL TEST RPL_SWITCH_STM_ROW_MIXED AND RPL_INSERT_ID FAIL
      WITH STACK OVERRUN.
      
      Test issue. Adding .opt files with {?PB_HOST_SPECIFIC_MYSQLD_ARGS} variable
      to pass host-specific arguments to the test (in particular, pass increased
      thread-stack-memory for the server running on SPARC64).

    added:
      mysql-test/suite/rpl/t/rpl_insert_id-master.opt
      mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed-master.opt
=== modified file 'mysql-test/lib/mtr_cases.pm'
--- a/mysql-test/lib/mtr_cases.pm	2012-10-24 16:08:19 +0000
+++ b/mysql-test/lib/mtr_cases.pm	2012-11-12 06:59:15 +0000
@@ -987,18 +987,11 @@ sub collect_one_test_case {
   if ( $tinfo->{'ndb_test'} )
   {
     # This is a NDB test
-    if ( $::opt_skip_ndbcluster == 2 )
+    if ( $::ndbcluster_enabled == 0)
     {
-      # Ndb is not supported, skip it
+      # ndbcluster is disabled
       $tinfo->{'skip'}= 1;
-      $tinfo->{'comment'}= "No ndbcluster support or ndb tests not enabled";
-      return $tinfo;
-    }
-    elsif ( $::opt_skip_ndbcluster )
-    {
-      # All ndb test's should be skipped
-      $tinfo->{'skip'}= 1;
-      $tinfo->{'comment'}= "No ndbcluster tests(--skip-ndbcluster)";
+      $tinfo->{'comment'}= "ndbcluster disabled";
       return $tinfo;
     }
   }

=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl	2012-11-06 11:30:07 +0000
+++ b/mysql-test/mysql-test-run.pl	2012-11-13 18:14:54 +0000
@@ -313,8 +313,9 @@ sub check_timeout ($) { return testcase_
 
 our $opt_warnings= 1;
 
-our $opt_include_ndbcluster= 0;
-our $opt_skip_ndbcluster= 1;
+our $ndbcluster_enabled= 0;
+my $opt_include_ndbcluster= 0;
+my $opt_skip_ndbcluster= 0;
 
 my $exe_ndbd;
 my $exe_ndbmtd;
@@ -368,26 +369,6 @@ sub main {
 
   if (!$opt_suites) {
     $opt_suites= $DEFAULT_SUITES;
-
-    # Check for any extra suites to enable based on the path name
-    my %extra_suites=
-      (
-       "mysql-5.1-new-ndb"              => "ndb_team",
-       "mysql-5.1-new-ndb-merge"        => "ndb_team",
-       "mysql-5.1-telco-6.2"            => "ndb_team",
-       "mysql-5.1-telco-6.2-merge"      => "ndb_team",
-       "mysql-5.1-telco-6.3"            => "ndb_team",
-       "mysql-6.0-ndb"                  => "ndb_team",
-      );
-
-    foreach my $dir ( reverse splitdir($basedir) ) {
-      my $extra_suite= $extra_suites{$dir};
-      if (defined $extra_suite) {
-	mtr_report("Found extra suite: $extra_suite");
-	$opt_suites= "$extra_suite,$opt_suites";
-	last;
-      }
-    }
   }
   mtr_report("Using suites: $opt_suites") unless @opt_cases;
 
@@ -1077,7 +1058,7 @@ sub command_line_setup {
              # Control what test suites or cases to run
              'force'                    => \$opt_force,
              'with-ndbcluster-only'     => \&collect_option,
-             'include-ndbcluster'       => \$opt_include_ndbcluster,
+             'ndb|include-ndbcluster'   => \$opt_include_ndbcluster,
              'skip-ndbcluster|skip-ndb' => \$opt_skip_ndbcluster,
              'suite|suites=s'           => \$opt_suites,
              'skip-rpl'                 => \&collect_option,
@@ -1532,7 +1513,6 @@ sub command_line_setup {
       }
       $ENV{'PATH'}= "$ENV{'PATH'}".$separator.$lib_mysqld;
     }
-    $opt_skip_ndbcluster= 1;       # Turn off use of NDB cluster
     $opt_skip_ssl= 1;              # Turn off use of SSL
 
     # Turn off use of bin log
@@ -2026,7 +2006,7 @@ sub executable_setup () {
                          "$bindir/libmysqld/examples/mysql_embedded",
                          "$bindir/bin/mysql_embedded");
 
-  if ( ! $opt_skip_ndbcluster )
+  if ( $ndbcluster_enabled )
   {
     # Look for single threaded NDB
     $exe_ndbd=
@@ -2302,7 +2282,7 @@ sub environment_setup {
   # --------------------------------------------------------------------------
   # Add the path where libndbclient can be found
   # --------------------------------------------------------------------------
-  if ( !$opt_skip_ndbcluster )
+  if ( $ndbcluster_enabled )
   {
     push(@ld_library_paths,  
 	 "$basedir/storage/ndb/src/.libs",
@@ -2396,7 +2376,7 @@ sub environment_setup {
   # ----------------------------------------------------
   # Setup env for NDB
   # ----------------------------------------------------
-  if ( ! $opt_skip_ndbcluster )
+  if ( $ndbcluster_enabled )
   {
     $ENV{'NDB_MGM'}=
       my_find_bin($bindir,
@@ -2828,37 +2808,87 @@ sub vs_config_dirs ($$) {
 sub check_ndbcluster_support ($) {
   my $mysqld_variables= shift;
 
-  # Check if this is MySQL Cluster, ie. mysql version string ends
-  # with -ndb-Y.Y.Y[-status]
-  if ( defined $mysql_version_extra &&
-       $mysql_version_extra =~ /^-ndb-/ )
+  my $ndbcluster_supported = 0;
+  if ($mysqld_variables{'ndb-connectstring'})
   {
-    mtr_report(" - MySQL Cluster");
-    # Enable ndb engine and add more test suites
-    $opt_include_ndbcluster = 1;
-    $DEFAULT_SUITES.=",ndb,ndb_binlog,rpl_ndb,ndb_rpl,ndb_memcache";
+    $ndbcluster_supported = 1;
   }
 
-  if ($opt_include_ndbcluster)
+  if ($opt_skip_ndbcluster && $opt_include_ndbcluster)
   {
-    $opt_skip_ndbcluster= 0;
+    # User is ambivalent. Theoretically the arg which was
+    # given last on command line should win, but that order is
+    # unknown at this time.
+    mtr_error("Ambigous command, both --include-ndbcluster " .
+	      " and --skip-ndbcluster was specified");
   }
 
-  if ($opt_skip_ndbcluster)
+  # Check if this is MySQL Cluster, ie. mysql version string ends
+  # with -ndb-Y.Y.Y[-status]
+  if ( defined $mysql_version_extra &&
+       $mysql_version_extra =~ /-ndb-([0-9]*)\.([0-9]*)\.([0-9]*)/ )
   {
-    mtr_report(" - skipping ndbcluster");
-    return;
-  }
+    # MySQL Cluster tree
+    mtr_report(" - MySQL Cluster detected");
 
-  if ( ! $mysqld_variables{'ndb-connectstring'} )
-  {
-    mtr_report(" - skipping ndbcluster, mysqld not compiled with ndbcluster");
-    $opt_skip_ndbcluster= 2;
-    return;
+    if ($opt_skip_ndbcluster)
+    {
+      mtr_report(" - skipping ndbcluster(--skip-ndbcluster)");
+      return;
+    }
+
+    if (!$ndbcluster_supported)
+    {
+      # MySQL Cluster tree, but mysqld was not compiled with
+      # ndbcluster -> fail unless --skip-ndbcluster was used
+      mtr_error("This is MySQL Cluster but mysqld does not " .
+		"support ndbcluster. Use --skip-ndbcluster to " .
+		"force mtr to run without it.");
+    }
+
+    # mysqld was compiled with ndbcluster -> auto enable
   }
+  else
+  {
+    # Not a MySQL Cluster tree
+    if (!$ndbcluster_supported)
+    {
+      if ($opt_include_ndbcluster)
+      {
+	mtr_error("Could not detect ndbcluster support ".
+		  "requested with --include-ndbcluster");
+      }
+
+      # Silently skip, mysqld was compiled without ndbcluster
+      # which is the default case
+      return;
+    }
+
+    if ($opt_skip_ndbcluster)
+    {
+      # Compiled with ndbcluster but ndbcluster skipped
+      mtr_report(" - skipping ndbcluster(--skip-ndbcluster)");
+      return;
+    }
 
-  mtr_report(" - using ndbcluster when necessary, mysqld supports it");
 
+    # Not a MySQL Cluster tree, enable ndbcluster
+    # if --include-ndbcluster was used
+    if ($opt_include_ndbcluster)
+    {
+      # enable ndbcluster
+    }
+    else
+    {
+      mtr_report(" - skipping ndbcluster(disabled by default)");
+      return;
+    }
+  }
+
+  mtr_report(" - enabling ndbcluster");
+  $ndbcluster_enabled= 1;
+  # Add MySQL Cluster test suites
+  $DEFAULT_SUITES.=",ndb,ndb_binlog,rpl_ndb,ndb_rpl,ndb_memcache";
   return;
 }
 

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6 branch (magnus.blaudd:4584 to 4586) magnus.blaudd14 Nov