package # Hide from PAUSE
    t::common;

use 5.006_000;

use strict;
use warnings;

our $VERSION = '0.01';

use base 'Exporter';
our @EXPORT_OK = qw(
    new_fh new_dir
);

use File::Spec ();
use File::Temp qw( tempfile tempdir );
use Fcntl qw( :flock );

my $parent = $ENV{WORK_DIR} || File::Spec->tmpdir || $ENV{TEMP};
print "\$parent=$parent\n";
my $dir = tempdir( CLEANUP => 1, DIR => $parent );
print "\$dir=$dir\n";
#my $dir = tempdir( DIR => '.' );

sub new_dir {
	tempdir( CLEANUP => 1, DIR => $dir )
}

sub new_fh {
    my ($fh, $filename) = tempfile( 'tmpXXXX', DIR => $dir, UNLINK => 1 );

    # This is because tempfile() returns a flock'ed $fh on MacOSX.
    flock $fh, LOCK_UN;

    return ($fh, $filename);
}

1;
__END__