diff options
author | Yves Orton <demerphq@gmail.com> | 2022-12-31 13:38:44 +0100 |
---|---|---|
committer | Yves Orton <demerphq@gmail.com> | 2022-12-31 15:45:20 +0100 |
commit | 2edc21432d1ddcf181aa8d3fec356fbaa9d8babd (patch) | |
tree | f424d7ab919baaa726253637dec7de9c92c5274c /lib | |
parent | 3b3e6fa172116bcd194dab07bf8893e6dd383c18 (diff) | |
download | perl-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.t | 16 | ||||
-rw-r--r-- | lib/DBM_Filter/t/02core.t | 23 |
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') }; |