summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2022-12-31 13:38:44 +0100
committerYves Orton <demerphq@gmail.com>2022-12-31 15:45:20 +0100
commit2edc21432d1ddcf181aa8d3fec356fbaa9d8babd (patch)
treef424d7ab919baaa726253637dec7de9c92c5274c /lib
parent3b3e6fa172116bcd194dab07bf8893e6dd383c18 (diff)
downloadperl-2edc21432d1ddcf181aa8d3fec356fbaa9d8babd.tar.gz
DBM_Filter/t - Use a private temporary directory for tests
I missed a parallelism issue in the DBM_Filter tests. This patch makes 01error.t and 02core.t use temporary directories for their tests so they don't collide.
Diffstat (limited to 'lib')
-rw-r--r--lib/DBM_Filter/t/01error.t16
-rw-r--r--lib/DBM_Filter/t/02core.t23
2 files changed, 26 insertions, 13 deletions
diff --git a/lib/DBM_Filter/t/01error.t b/lib/DBM_Filter/t/01error.t
index 571a7fc6d3..d74d6471e6 100644
--- a/lib/DBM_Filter/t/01error.t
+++ b/lib/DBM_Filter/t/01error.t
@@ -1,16 +1,20 @@
use strict;
use warnings;
-use Carp;
BEGIN {
chdir 't' if -d 't';
@INC = qw(. ../lib);
}
-our $db ;
+use Carp;
+use File::Temp qw(tempdir);
+my $tempdir;
{
- chdir 't' if -d 't';
+ $tempdir = tempdir( "./DBMFXXXXXXXX", CLEANUP => 1);
+ push @INC, $tempdir;
+ chdir $tempdir or die "Failed to chdir to '$tempdir': $!";
+ @INC[-1] = "../../lib";
if ( ! -d 'DBM_Filter')
{
mkdir 'DBM_Filter', 0777
@@ -18,7 +22,9 @@ our $db ;
}
}
-END { rmdir 'DBM_Filter' }
+##### Keep above code identical to 02core.t #####
+
+our $db;
sub writeFile
{
@@ -34,7 +40,7 @@ sub runFilter
my $name = shift ;
my $filter = shift ;
-print "# runFilter $name\n" ;
+ #print "# runFilter $name\n" ;
my $filename = "DBM_Filter/$name.pm";
$filter = "package DBM_Filter::$name ;\n$filter"
unless $filter =~ /^\s*package/ ;
diff --git a/lib/DBM_Filter/t/02core.t b/lib/DBM_Filter/t/02core.t
index 82aed4acca..3ead1c6255 100644
--- a/lib/DBM_Filter/t/02core.t
+++ b/lib/DBM_Filter/t/02core.t
@@ -1,14 +1,20 @@
-
use strict;
use warnings;
-use Carp;
-my %files = ();
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = qw(. ../lib);
+}
-use lib '.';
+use Carp;
+use File::Temp qw(tempdir);
+my $tempdir;
{
- chdir 't' if -d 't';
+ $tempdir = tempdir( "./DBMFXXXXXXXX", CLEANUP => 1);
+ push @INC, $tempdir;
+ chdir $tempdir or die "Failed to chdir to '$tempdir': $!";
+ @INC[-1] = "../../lib";
if ( ! -d 'DBM_Filter')
{
mkdir 'DBM_Filter', 0777
@@ -16,7 +22,10 @@ use lib '.';
}
}
-END { rmdir 'DBM_Filter' }
+##### Keep above code identical to 01error.t #####
+
+our $db;
+my %files = ();
sub writeFile
{
@@ -28,8 +37,6 @@ sub writeFile
$files{"DBM_Filter/$filename.pm"} ++;
}
-END { unlink keys %files if keys %files }
-
use Test::More;
BEGIN { use_ok('DBM_Filter') };