mariadb/mysql-test/lib/mtr_match.pl
unknown 406d0ea5ac Start cluster only for testcases that really needs it and stop it when
not needed by the tescases. This will save test time for those testcases
that does not need cluster, but need a restart, as they dont have to wait
the extra time it would take for cluster to restart. It will also save
time for other testcases, as cluster does not 
need to be contacted for each table to be dropped or created.
Backport from 5.1


mysql-test/lib/mtr_cases.pl:
  Mark all test cases where name contains "ndb" as ndbcluster needed
mysql-test/lib/mtr_match.pl:
  Add mtr_match_substring function
mysql-test/lib/mtr_stress.pl:
  Extre param to mysqld_start
mysql-test/mysql-test-run.pl:
  Only start ndbcluster for testcases that needs it.
2006-02-09 09:40:48 +01:00

84 lines
1.4 KiB
Perl

# -*- cperl -*-
# This is a library file used by the Perl version of mysql-test-run,
# and is part of the translation of the Bourne shell script with the
# same name.
use strict;
sub mtr_match_prefix ($$);
sub mtr_match_extension ($$);
sub mtr_match_any_exact ($$);
##############################################################################
#
#
#
##############################################################################
# Match a prefix and return what is after the prefix
sub mtr_match_prefix ($$) {
my $string= shift;
my $prefix= shift;
if ( $string =~ /^\Q$prefix\E(.*)$/ ) # strncmp
{
return $1;
}
else
{
return undef; # NULL
}
}
# Match extension and return the name without extension
sub mtr_match_extension ($$) {
my $file= shift;
my $ext= shift;
if ( $file =~ /^(.*)\.\Q$ext\E$/ ) # strchr+strcmp or something
{
return $1;
}
else
{
return undef; # NULL
}
}
# Match a substring anywere in a string
sub mtr_match_substring ($$) {
my $string= shift;
my $substring= shift;
if ( $string =~ /(.*)\Q$substring\E(.*)$/ ) # strncmp
{
return $1;
}
else
{
return undef; # NULL
}
}
sub mtr_match_any_exact ($$) {
my $string= shift;
my $mlist= shift;
foreach my $m (@$mlist)
{
if ( $string eq $m )
{
return 1;
}
}
return 0;
}
1;