Try harder to find initdb when testing.
authorGreg Sabino Mullane <greg@endpoint.com>
Sat, 5 Oct 2013 01:19:27 +0000 (21:19 -0400)
committerGreg Sabino Mullane <greg@endpoint.com>
Sat, 5 Oct 2013 01:19:27 +0000 (21:19 -0400)
t/BucardoTesting.pm

index 10eb79cbac8d0b3d3a0f16c46d9f89dc6a52d5c6..5a82dcf4e9fc6d95abded2017ac573cc1315bcd4 100644 (file)
@@ -162,9 +162,14 @@ my $DEBUGDIR = ".";
 my $PIDDIR = "/tmp/bucardo_testing_$ENV{USER}";
 mkdir $PIDDIR if ! -e $PIDDIR;
 
+## Let pg_config guide us to a likely initdb/pg_ctl location
+my $output = qx{pg_config --bindir};
+chomp $output;
+my $bindir = $output =~ m{^/} ? $1 : '';
+
 ## Location of files
-my $initdb = $ENV{PGBINDIR} ? "$ENV{PGBINDIR}/initdb" : 'initdb';
-my $pg_ctl = $ENV{PGBINDIR} ? "$ENV{PGBINDIR}/pg_ctl" : 'pg_ctl';
+my $initdb = $ENV{PGBINDIR} ? "$ENV{PGBINDIR}/initdb" : $bindir ? "$bindir/initdb" : 'initdb';
+my $pg_ctl = $ENV{PGBINDIR} ? "$ENV{PGBINDIR}/pg_ctl" : $bindir ? "$bindir/pg_ctl" : 'pg_ctl';
 
 ## Get the default initdb location
 my $pgversion = qx{$initdb -V};