List:Commits« Previous MessageNext Message »
From:Bjorn Munch Date:September 29 2009 1:40pm
Subject:bzr commit into mysql-5.1-mtr branch (Bjorn.Munch:2837) Bug#47383
View as plain text  
#At file:///home/bm136801/my/innoplug-51/ based on revid:bjorn.munch@stripped

 2837 Bjorn Munch	2009-09-29
      Bug #47383 let mysql-test-run.pl run innodb tests using the plugin
      Alt. solution: let the "InnoDB plugin" combinations apply
      Added some alternative plugin paths (I need to move the code anyway)

    modified:
      mysql-test/lib/mtr_cases.pm
=== modified file 'mysql-test/lib/mtr_cases.pm'
--- a/mysql-test/lib/mtr_cases.pm	2009-09-02 16:58:17 +0000
+++ b/mysql-test/lib/mtr_cases.pm	2009-09-29 13:38:45 +0000
@@ -69,6 +69,10 @@ require "mtr_misc.pl";
 my $do_test_reg;
 my $skip_test_reg;
 
+# Related to adding InnoDB plugin combinations
+my $lib_innodb_plugin;
+my $do_innodb_plugin;
+
 # If "Quick collect", set to 1 once a test to run has been found.
 my $some_test_found;
 
@@ -103,6 +107,19 @@ sub collect_test_cases ($$) {
   $do_test_reg= init_pattern($do_test, "--do-test");
   $skip_test_reg= init_pattern($skip_test, "--skip-test");
 
+  $lib_innodb_plugin=
+    mtr_file_exists(::vs_config_dirs('storage/innodb_plugin', 'ha_innodb_plugin.dll'),
+		    "$::basedir/storage/innodb_plugin/.libs/ha_innodb_plugin.so",
+		    "$::basedir/storage/innodb_plugin/.libs/ha_innodb_plugin.sl",
+		    "$::basedir/lib/mysql/plugin/ha_innodb_plugin.so",
+		    "$::basedir/lib/mysql/plugin/ha_innodb_plugin.sl",
+		    "$::basedir/lib/plugin/ha_innodb_plugin.so",
+		    "$::basedir/lib/plugin/ha_innodb_plugin.sl",
+		    "$::basedir/lib/plugin/ha_innodb_plugin.dll");
+  $do_innodb_plugin= ($::mysql_version_id >= 50100 &&
+		      !(IS_WINDOWS && $::opt_embedded_server) &&
+		      $lib_innodb_plugin);
+
   foreach my $suite (split(",", $suites))
   {
     push(@$cases, collect_one_suite($suite, $opt_cases));
@@ -484,19 +501,15 @@ sub collect_one_suite($)
   # ----------------------------------------------------------------------
   # Testing InnoDB plugin.
   # ----------------------------------------------------------------------
-  my $lib_innodb_plugin=
-    mtr_file_exists(::vs_config_dirs('storage/innodb_plugin', 'ha_innodb_plugin.dll'),
-                    "$::basedir/storage/innodb_plugin/.libs/ha_innodb_plugin.so",
-                    "$::basedir/lib/mysql/plugin/ha_innodb_plugin.so",
-                    "$::basedir/lib/mysql/plugin/ha_innodb_plugin.dll");
-  if ($::mysql_version_id >= 50100 && !(IS_WINDOWS && $::opt_embedded_server) &&
-      $lib_innodb_plugin)
+  if ($do_innodb_plugin)
   {
     my @new_cases;
 
     foreach my $test (@cases)
     {
-      next if ($test->{'skip'} || !$test->{'innodb_test'});
+      next if (!$test->{'innodb_test'});
+      # If skipped due to no builtin innodb, we can still run it with plugin
+      next if ($test->{'skip'} && $test->{comment} ne "No innodb support");
       # Exceptions
       next if ($test->{'name'} eq 'main.innodb'); # Failed with wrong errno (fk)
       next if ($test->{'name'} eq 'main.index_merge_innodb'); # Explain diff
@@ -516,7 +529,7 @@ sub collect_one_suite($)
         }
         else
         {
-          $new_test->{$key}= $value;
+          $new_test->{$key}= $value unless ($key eq 'skip');
         }
       }
       my $plugin_filename= basename($lib_innodb_plugin);
@@ -976,7 +989,8 @@ sub collect_one_test_case {
       # innodb is not supported, skip it
       $tinfo->{'skip'}= 1;
       $tinfo->{'comment'}= "No innodb support";
-      return $tinfo;
+      # But continue processing if we may run it with innodb plugin
+      return $tinfo unless $do_innodb_plugin;
     }
   }
   else


Attachment: [text/bzr-bundle] bzr/bjorn.munch@sun.com-20090929133845-9k084oafud3uuo5f.bundle
Thread
bzr commit into mysql-5.1-mtr branch (Bjorn.Munch:2837) Bug#47383Bjorn Munch29 Sep