mtr: allow nested plugin suites to be defaults too

This commit is contained in:
Sergei Golubchik 2014-02-06 16:25:18 +01:00
parent 78f11e8ee2
commit ceae5aaa7e

View file

@ -337,15 +337,20 @@ sub parse_disabled {
#
sub collect_default_suites(@)
{
my @dirs = my_find_dir(dirname($::glob_mysql_test_dir),
[ @plugin_suitedirs ], '*');
for my $d (@dirs) {
next unless -f "$d/suite.pm";
my $sname= basename($d);
use File::Find;
my @dirs;
find(sub {
push @dirs, [$File::Find::topdir, $File::Find::name]
if -d and -f "$File::Find::name/suite.pm";
}, my_find_dir(dirname($::glob_mysql_test_dir), \@plugin_suitedirs));
for (@dirs) {
my ($plugin_root, $dir) = @$_;
my $sname= substr $dir, 1 + length $plugin_root;
# ignore overlays here, otherwise we'd need accurate
# duplicate detection with overlay support for the default suite list
next if $sname eq 'main' or -d "$::glob_mysql_test_dir/suite/$sname";
my $s = load_suite_object($sname, $d);
my $s = load_suite_object($sname, $dir);
push @_, $sname if $s->is_default();
}
return @_;