mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Bug#27753 enable mysql-test-run.pl to ignore tests based on wildcard
mysql-test/lib/mtr_cases.pl: Allow --skip-test and --do-test to take a perl regex mysql-test/mysql-test-run.pl: Update usage for --skip-test and --do-test
This commit is contained in:
@ -27,6 +27,26 @@ sub collect_one_test_case ($$$$$$$);
|
|||||||
|
|
||||||
sub mtr_options_from_test_file($$);
|
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
|
# Collect information about test cases we are to run
|
||||||
@ -39,6 +59,9 @@ sub collect_test_cases ($) {
|
|||||||
my $testdir;
|
my $testdir;
|
||||||
my $resdir;
|
my $resdir;
|
||||||
|
|
||||||
|
$do_test= init_pattern($::opt_do_test, "--do-test");
|
||||||
|
$skip_test= init_pattern($::opt_skip_test, "--skip-test");
|
||||||
|
|
||||||
if ( $suite eq "main" )
|
if ( $suite eq "main" )
|
||||||
{
|
{
|
||||||
$testdir= "$::glob_mysql_test_dir/t";
|
$testdir= "$::glob_mysql_test_dir/t";
|
||||||
@ -162,8 +185,7 @@ sub collect_test_cases ($) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Skip tests that does not match the --do-test= filter
|
# Skip tests that does not match the --do-test= filter
|
||||||
next if $::opt_do_test and
|
next if ($do_test and not $tname =~ /$do_test/o);
|
||||||
! defined mtr_match_prefix($elem,$::opt_do_test);
|
|
||||||
|
|
||||||
collect_one_test_case($testdir,$resdir,$tname,$elem,$cases,\%disabled,
|
collect_one_test_case($testdir,$resdir,$tname,$elem,$cases,\%disabled,
|
||||||
$component_id);
|
$component_id);
|
||||||
@ -288,7 +310,7 @@ sub collect_one_test_case($$$$$$$) {
|
|||||||
# Skip some tests but include in list, just mark them to skip
|
# 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;
|
$tinfo->{'skip'}= 1;
|
||||||
return;
|
return;
|
||||||
|
@ -5080,12 +5080,16 @@ Options to control what test suites or cases to run
|
|||||||
skip-ndb[cluster] Skip all tests that need cluster
|
skip-ndb[cluster] Skip all tests that need cluster
|
||||||
skip-ndb[cluster]-slave Skip all tests that need a slave cluster
|
skip-ndb[cluster]-slave Skip all tests that need a slave cluster
|
||||||
ndb-extra Run extra tests from ndb directory
|
ndb-extra Run extra tests from ndb directory
|
||||||
do-test=PREFIX Run test cases which name are prefixed with PREFIX
|
do-test=PREFIX or REGEX
|
||||||
|
Run test cases which name are prefixed with PREFIX
|
||||||
|
or fulfills REGEX
|
||||||
|
skip-test=PREFIX or REGEX
|
||||||
|
Skip test cases which name are prefixed with PREFIX
|
||||||
|
or fulfills REGEX
|
||||||
start-from=PREFIX Run test cases starting from test prefixed with PREFIX
|
start-from=PREFIX Run test cases starting from test prefixed with PREFIX
|
||||||
suite=NAME Run the test suite named NAME. The default is "main"
|
suite=NAME Run the test suite named NAME. The default is "main"
|
||||||
skip-rpl Skip the replication test cases.
|
skip-rpl Skip the replication test cases.
|
||||||
skip-im Don't start IM, and skip the IM test cases
|
skip-im Don't start IM, and skip the IM test cases
|
||||||
skip-test=PREFIX Skip test cases which name are prefixed with PREFIX
|
|
||||||
big-test Set the environment variable BIG_TEST, which can be
|
big-test Set the environment variable BIG_TEST, which can be
|
||||||
checked from test cases.
|
checked from test cases.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user