@ -6,6 +6,7 @@ use warnings;
use Exporter 'import' ;
our @ EXPORT = qw(
tempdir
tempdir_short
start_test_server
restart_test_server
psql
@ -65,6 +66,13 @@ sub tempdir
return File::Temp:: tempdir ( 'tmp_testXXXX' , DIR = > $ ENV { TESTDIR } || cwd ( ) , CLEANUP = > 1 ) ;
}
sub tempdir_short
{
# Use a separate temp dir outside the build tree for the
# Unix-domain socket, to avoid file name length issues.
return File::Temp:: tempdir ( CLEANUP = > 1 ) ;
}
my ( $ test_server_datadir , $ test_server_logfile ) ;
sub start_test_server
@ -72,10 +80,12 @@ sub start_test_server
my ( $ tempdir ) = @ _ ;
my $ ret ;
my $ tempdir_short = tempdir_short ;
system "initdb -D $tempdir/pgdata -A trust -N >/dev/null" ;
$ ret = system 'pg_ctl' , '-D' , "$tempdir/pgdata" , '-s' , '-w' , '-l' ,
"$tempdir/logfile" , '-o' ,
"--fsync=off -k $tempdir --listen-addresses='' --log-statement=all" ,
"--fsync=off -k $tempdir_short --listen-addresses='' --log-statement=all" ,
'start' ;
if ( $ ret != 0 )
@ -84,7 +94,7 @@ sub start_test_server
BAIL_OUT ( "pg_ctl failed" ) ;
}
$ ENV { PGHOST } = $ tempdir ;
$ ENV { PGHOST } = $ tempdir_short ;
$ test_server_datadir = "$tempdir/pgdata" ;
$ test_server_logfile = "$tempdir/logfile" ;
}