summaryrefslogtreecommitdiff
path: root/mysql-test/mysql-test-run.pl
diff options
context:
space:
mode:
authorBjorn Munch <Bjorn.Munch@sun.com>2009-03-04 16:41:45 +0100
committerBjorn Munch <Bjorn.Munch@sun.com>2009-03-04 16:41:45 +0100
commit6c2c23d3413ec0f7c89f2e2725ea0db94dc4c7f4 (patch)
treec8d972f92c37e03f75dd90499532a7fae268e0c6 /mysql-test/mysql-test-run.pl
parent65074b23c29c3a08450eea9f795cbdbf61cea47d (diff)
downloadmariadb-git-6c2c23d3413ec0f7c89f2e2725ea0db94dc4c7f4.tar.gz
merge 42797
Diffstat (limited to 'mysql-test/mysql-test-run.pl')
-rwxr-xr-xmysql-test/mysql-test-run.pl16
1 files changed, 15 insertions, 1 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index f20bcf5245f..c313063ddf4 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -107,6 +107,17 @@ our $default_vardir;
our $opt_vardir; # Path to use for var/ dir
my $path_vardir_trace; # unix formatted opt_vardir for trace files
my $opt_tmpdir; # Path to use for tmp/ dir
+my $opt_tmpdir_pid;
+
+END {
+ if (defined $opt_tmpdir_pid and
+ $opt_tmpdir_pid == $$){
+ # Remove the tempdir this process has created
+ mtr_verbose("Removing tmpdir '$opt_tmpdir");
+ rmtree($opt_tmpdir);
+ }
+}
+
my $path_config_file; # The generated config file, var/my.cnf
# Visual Studio produces executables in different sub-directories based on the
@@ -1062,8 +1073,11 @@ sub command_line_setup {
" creating a shorter one...");
# Create temporary directory in standard location for temporary files
- $opt_tmpdir= tempdir( TMPDIR => 1, CLEANUP => 1 );
+ $opt_tmpdir= tempdir( TMPDIR => 1, CLEANUP => 0 );
mtr_report(" - using tmpdir: '$opt_tmpdir'\n");
+
+ # Remember pid that created dir so it's removed by correct process
+ $opt_tmpdir_pid= $$;
}
}
$opt_tmpdir =~ s,/+$,,; # Remove ending slash if any