Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-8532

MTR cannot run with --embedded on Windows on a source build

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.1, 10.0
    • Fix Version/s: 10.0.21
    • Component/s: Tests
    • Labels:
      None

      Description

      VS config: RelWithDebInfo                                                    
      vardir: c:/_Home/repo/10.1-mdev6887/mysql-test/var                           
      Checking leftover processes...                                               
      Removing old var directory...                                                
      Creating var directory 'c:/_Home/repo/10.1-mdev6887/mysql-test/var'...       
      The symlink function is unimplemented at mysql-test-run.pl line 2596.        

      The problem is here:

          if (IS_WINDOWS && !$opt_embedded_server)
          {
            for (<$bindir/storage/*$opt_vs_config/*.dll>,
                 <$bindir/plugin/*$opt_vs_config/*.dll>,
                 <$bindir/sql$opt_vs_config/*.dll>)
            {
              my $pname=basename($_);
              copy rel2abs($_), "$plugindir/$pname";
              set_plugin_var($pname);
            }
          }
          else
          {
            my $opt_use_copy= 1;
            if (symlink "$opt_vardir/run", "$plugindir/symlink_test")
            {
              $opt_use_copy= 0;
              unlink "$plugindir/symlink_test";
            }
      ...

      Simplest patch:

      diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl      
      index fe71bbe..2999490 100755                                                 
      --- a/mysql-test/mysql-test-run.pl                                            
      +++ b/mysql-test/mysql-test-run.pl                                            
      @@ -2593,7 +2593,7 @@ sub setup_vardir() {                                    
           else                                                                     
           {                                                                        
             my $opt_use_copy= 1;                                                   
      -      if (symlink "$opt_vardir/run", "$plugindir/symlink_test")              
      +      if (eval {symlink "$opt_vardir/run", "$plugindir/symlink_test"})       
             {                                                                      
               $opt_use_copy= 0;                                                    
               unlink "$plugindir/symlink_test";                                    

        Attachments

          Activity

            People

            Assignee:
            elenst Elena Stepanova
            Reporter:
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: