From 2edc21432d1ddcf181aa8d3fec356fbaa9d8babd Mon Sep 17 00:00:00 2001 From: Yves Orton Date: Sat, 31 Dec 2022 13:38:44 +0100 Subject: 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. --- lib/DBM_Filter/t/01error.t | 16 +++++++++++----- lib/DBM_Filter/t/02core.t | 23 +++++++++++++++-------- 2 files changed, 26 insertions(+), 13 deletions(-) (limited to 'lib') 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') }; -- cgit v1.2.1