summaryrefslogtreecommitdiff
path: root/mysql-test/lib
diff options
context:
space:
mode:
authorunknown <msvensson@shellback.(none)>2007-10-05 19:29:55 +0200
committerunknown <msvensson@shellback.(none)>2007-10-05 19:29:55 +0200
commit9dcbdb8fad0b4adf25b04cac961d794cabcf6ebf (patch)
tree860e519e49b24237dec9b5369e9d4b499835788b /mysql-test/lib
parent67093d2f73488b4a8bcb17d04f90ce7a6ad057e8 (diff)
parent95cf1b89163568349379dd7cad9bfb29a48d7d42 (diff)
downloadmariadb-git-9dcbdb8fad0b4adf25b04cac961d794cabcf6ebf.tar.gz
Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into shellback.(none):/home/msvensson/mysql/mysql-5.1-maint mysql-test/mysql-test-run.pl: Auto merged mysql-test/t/mysqltest.test: Auto merged mysql-test/lib/mtr_cases.pl: Mereg 5.0->5.1
Diffstat (limited to 'mysql-test/lib')
-rw-r--r--mysql-test/lib/mtr_cases.pl28
1 files changed, 25 insertions, 3 deletions
diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl
index a4266ab1931..3d5752b4ec8 100644
--- a/mysql-test/lib/mtr_cases.pl
+++ b/mysql-test/lib/mtr_cases.pl
@@ -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;