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

Fix mysql-test/lib/mtr_cases.pm to search tests in submodules

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.5.10
    • Component/s: Tests
    • Labels:
      None

      Description

      This task is a dependency for MCOL-4674.
      It's not possible to run ColumnStore MTR tests using:

      cd mysql-test
      ./mtr columnstore/basic
      

      Two problems are reported in MCOL-4674 and should be fixed inside ColumnStore repository.

      The third problem should be fixed in the server repository:

      Currently mysql-test/lib/mtr_cases.pm searches tests in:

      storage/XXX/mysql-test/XXX
      

      and therefore supports only these cases:

      • both plugin sources and MTR tests for this plugin are in the server repository (e.g. storage/connect)
      • the plugin sources are inside a submodule, but the plugin tests are in the server repository (e.g. storage/rocksdb)

      but it does not support the case when:

      • both plugin sources and MTR tests for this plugin reside in a submodule (e.g. storage/columnstore)

      We should fix mtr_cases.pm to additionally search for tests in:

      storage/XXX/XXX/mysql-test/XXX
      

      This fix for mtr_cases.pm does the job:

      diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm
      index b61333535dc..dd003dea31d 100644
      --- a/mysql-test/lib/mtr_cases.pm
      +++ b/mysql-test/lib/mtr_cases.pm
      @@ -64,8 +64,8 @@ my $plugin_suitedir_regex;
       my $overlay_regex;
       
       if (-d '../sql') {
      -  @plugin_suitedirs= ('storage/*/mysql-test', 'plugin/*/mysql-test');
      -  $overlay_regex= '\b(?:storage|plugin)/(\w+)/mysql-test\b';
      +  @plugin_suitedirs= ('storage/*/mysql-test', 'plugin/*/mysql-test', 'storage/*/*/mysql-test', );
      +  $overlay_regex= '\b(?:storage|plugin|storage[/][^/]*)/(\w+)/mysql-test\b';
       } else {
         @plugin_suitedirs= ('mysql-test/plugin/*');
         $overlay_regex= '\bmysql-test/plugin/(\w+)\b';
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bar Alexander Barkov
              Reporter:
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: