use strict; use warnings; use lib 't/lib'; use Pg::CLI::pg_config; use Test::More 0.88; { my $pg_config = Pg::CLI::pg_config->new( executable => 'foo' ); my %config = ( bindir => q{/usr/lib/postgresql/8.4/bin}, docdir => q{/usr/share/doc/postgresql}, htmldir => q{/usr/share/doc/postgresql}, includedir => q{/usr/include/postgresql}, pkgincludedir => q{/usr/include/postgresql}, includedir_server => q{/usr/include/postgresql/8.4/server}, libdir => q{/usr/lib}, pkglibdir => q{/usr/lib/postgresql/8.4/lib}, localedir => q{/usr/share/locale}, mandir => q{/usr/share/postgresql/8.4/man}, sharedir => q{/usr/share/postgresql/8.4}, sysconfdir => q{/etc/postgresql-common}, pgxs => q{/usr/lib/postgresql/8.4/lib/pgxs/src/makefiles/pgxs.mk}, configure => q{'--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib/postgresql-8.4' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--srcdir=.' '--mandir=/usr/share/postgresql/8.4/man' '--with-docdir=/usr/share/doc/postgresql-doc-8.4' '--sysconfdir=/etc/postgresql-common' '--datadir=/usr/share/postgresql/8.4' '--bindir=/usr/lib/postgresql/8.4/bin' '--includedir=/usr/include/postgresql/' '--enable-nls' '--enable-integer-datetimes' '--enable-thread-safety' '--enable-debug' '--disable-rpath' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-krb5' '--with-gssapi' '--with-openssl' '--with-libxml' '--with-libxslt' '--with-ldap' '--with-ossp-uuid' '--with-gnu-ld' '--with-tclconfig=/usr/lib/tcl8.5' '--with-tkconfig=/usr/lib/tk8.5' '--with-includes=/usr/include/tcl8.5' '--with-system-tzdata=/usr/share/zoneinfo' '--with-pgport=5432' 'CFLAGS=-g -O2 -g -Wall -O2 -fPIC' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,--as-needed' 'build_alias=x86_64-linux-gnu' 'CPPFLAGS='}, cc => q{gcc}, cppflags => q{-D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.5}, cflags => q{-g -O2 -g -Wall -O2 -fPIC -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -g}, cflags_sl => q{-fpic}, ldflags => q{-Wl,-Bsymbolic-functions -Wl,--as-needed -Wl,--as-needed}, ldflags_sl => undef, libs => q{-lpgport -lxslt -lxml2 -lpam -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -lreadline -lcrypt -ldl -lm }, version => q{PostgreSQL 8.4.5}, ); my @output = map { my $key = uc $_; $key = 'INCLUDEDIR-SERVER' if $key eq 'INCLUDEDIR_SERVER'; $key . ' = ' . ( defined $config{$_} ? $config{$_} : q{ } ) . "\n" } sort keys %config; no warnings 'redefine'; local *Pg::CLI::pg_config::_pg_config_output = sub {@output}; for my $key ( keys %config ) { is( $pg_config->$key(), $config{$key}, "got expected value for $key" ); } } done_testing();