summaryrefslogtreecommitdiff
path: root/mysql-test/mysql-test-run.pl
diff options
context:
space:
mode:
authorMagnus Svensson <msvensson@mysql.com>2009-03-31 16:10:44 +0200
committerMagnus Svensson <msvensson@mysql.com>2009-03-31 16:10:44 +0200
commit068d431d0c7eb8180cafc3b16e46629abbeb242c (patch)
treee92f04ad0e2c4dae084b3599b13ef92930c76725 /mysql-test/mysql-test-run.pl
parentde34d942d31d1f89d5c8b164e434706a40e12ff7 (diff)
parentbeb0eaa9d114448353279388de7f448119a50233 (diff)
downloadmariadb-git-068d431d0c7eb8180cafc3b16e46629abbeb242c.tar.gz
Merge
Diffstat (limited to 'mysql-test/mysql-test-run.pl')
-rwxr-xr-xmysql-test/mysql-test-run.pl26
1 files changed, 25 insertions, 1 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 0cd8b9a703d..94e865ad5c8 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -3126,6 +3126,26 @@ sub find_analyze_request
}
+# The test can leave a file in var/tmp/ to signal
+# that all servers should be restarted
+sub restart_forced_by_test
+{
+ my $restart = 0;
+ foreach my $mysqld ( mysqlds() )
+ {
+ my $datadir = $mysqld->value('datadir');
+ my $force_restart_file = "$datadir/mtr/force_restart";
+ if ( -f $force_restart_file )
+ {
+ mtr_verbose("Restart of servers forced by test");
+ $restart = 1;
+ last;
+ }
+ }
+ return $restart;
+}
+
+
# Return timezone value of tinfo or default value
sub timezone {
my ($tinfo)= @_;
@@ -3294,7 +3314,11 @@ sub run_testcase ($) {
if ( $res == 0 )
{
my $check_res;
- if ( $opt_check_testcases and
+ if ( restart_forced_by_test() )
+ {
+ stop_all_servers();
+ }
+ elsif ( $opt_check_testcases and
$check_res= check_testcase($tinfo, "after"))
{
if ($check_res == 1) {