1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00

Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint

into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint
This commit is contained in:
msvensson@shellback.(none)
2007-10-05 19:29:55 +02:00
3 changed files with 35 additions and 6 deletions

View File

@@ -28,6 +28,26 @@ sub collect_one_test_case ($$$$$$$$$);
sub mtr_options_from_test_file($$);
my $do_test;
my $skip_test;
sub init_pattern {
my ($from, $what)= @_;
if ( $from =~ /[a-z0-9]/ ) {
# Does not contain any regex, make the pattern match
# beginning of string
$from= "^$from";
}
else {
# Check that pattern is a valid regex
eval { "" =~/$from/; 1 } or
mtr_error("Invalid regex '$from' passed to $what\nPerl says: $@");
}
return $from;
}
##############################################################################
#
# Collect information about test cases we are to run
@@ -35,6 +55,9 @@ sub mtr_options_from_test_file($$);
##############################################################################
sub collect_test_cases ($) {
$do_test= init_pattern($::opt_do_test, "--do-test");
$skip_test= init_pattern($::opt_skip_test, "--skip-test");
my $suites= shift; # Semicolon separated list of test suites
my $cases = []; # Array of hash
@@ -303,8 +326,7 @@ sub collect_one_suite($$)
}
# Skip tests that does not match the --do-test= filter
next if $::opt_do_test and
! defined mtr_match_prefix($elem,$::opt_do_test);
next if ($do_test and not $tname =~ /$do_test/o);
collect_one_test_case($testdir,$resdir,$suite,$tname,
$elem,$cases,\%disabled,$component_id,
@@ -357,7 +379,7 @@ sub collect_one_test_case($$$$$$$$$) {
# Skip some tests but include in list, just mark them to skip
# ----------------------------------------------------------------------
if ( $::opt_skip_test and defined mtr_match_prefix($tname,$::opt_skip_test) )
if ( $skip_test and $tname =~ /$skip_test/o )
{
$tinfo->{'skip'}= 1;
return;