test in directories provided by Test::Spec
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 4 Jun 2008 21:56:48 +0000 (21:56 +0000)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 4 Jun 2008 21:56:48 +0000 (21:56 +0000)
On darwin machines /tmp seems to be symlinked to /private/tmp, resulting
in different file names reported by <()> (uses rel2abs with dirname of
parent file) and Include() (uses rel2abs in cwd, so symlinks are
resolved).  Similarly, on windows the latter adds a drive name (C:\tmp).

F::S->tmpdir should provide a preresolved directory, so results are the
same.

t/50-cgi.t

index 57e766b116a8ba066693db9eedd21aada93b357d..d04e4509593c4e679a40193ddee266293bb2cb2e 100644 (file)
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-use Cwd qw(cwd);
+use File::Spec;
 use Test::More;
 
 eval { require PerlIO::scalar };
@@ -14,7 +14,8 @@ require_ok('PLP::Backend::CGI') or BAIL_OUT();
 $PLP::use_cache = 0 if $PLP::use_cache;
 #TODO: caching on (change file names)
 
-my $base = -w '/tmp' ? '/tmp' : cwd();
+my $base = File::Spec->tmpdir || File::Spec->curdir;
+-w $base or BAIL_OUT("$base not writable");
 my $testfile = 'testfile.plp';
 not -f "$base/$testfile" or BAIL_OUT("$testfile exists");