Re: [HACKERS] pg_rewind and ssl test suites don't work if '.' is not in @INC

2016-10-07 Thread Heikki Linnakangas

On 10/07/2016 03:05 PM, Michael Paquier wrote:

On Fri, Oct 7, 2016 at 8:54 PM, Heikki Linnakangas  wrote:

I'm a bit surprised no-one else has reported this yet. Have I missed a
report?


Andres has reported that a couple of weeks back, on Debian testing like you:
https://www.postgresql.org/message-id/20160908204529.flg6nivjuwp5v...@alap3.anarazel.de


Ah, thanks, I'll reply on that thread.

- Heikki



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] pg_rewind and ssl test suites don't work if '.' is not in @INC

2016-10-07 Thread Michael Paquier
On Fri, Oct 7, 2016 at 8:54 PM, Heikki Linnakangas  wrote:
> I think we should fix this by the attached. Any better ideas?

Updating PG_PROVE_FLAGS in src/Makefile.global.in, because any test
suite having its own .pm file will fail. It is as well necessary to
refresh $ENV{PERL5LIB} in vcregress.pl.

> I'm a bit surprised no-one else has reported this yet. Have I missed a
> report?

Andres has reported that a couple of weeks back, on Debian testing like you:
https://www.postgresql.org/message-id/20160908204529.flg6nivjuwp5v...@alap3.anarazel.de
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] pg_rewind and ssl test suites don't work if '.' is not in @INC

2016-10-07 Thread Heikki Linnakangas

On my system running Debian stretch (= testing):

~/git-sandbox-pgsql/96stable/src/bin/pg_rewind (REL9_6_STABLE)$ make check
rm -rf '/home/heikki/git-sandbox-pgsql/96stable'/tmp_install
/bin/mkdir -p '/home/heikki/git-sandbox-pgsql/96stable'/tmp_install/log
make -C '../../..' 
DESTDIR='/home/heikki/git-sandbox-pgsql/96stable'/tmp_install install 
>'/home/heikki/git-sandbox-pgsql/96stable'/tmp_install/log/install.log 2>&1
rm -rf 
/home/heikki/git-sandbox-pgsql/96stable/src/bin/pg_rewind/tmp_check/log
cd . && 
TESTDIR='/home/heikki/git-sandbox-pgsql/96stable/src/bin/pg_rewind' 
PATH="/home/heikki/git-sandbox-pgsql/96stable/tmp_install/home/heikki/pgsql.96stable/bin:$PATH" 
LD_LIBRARY_PATH="/home/heikki/git-sandbox-pgsql/96stable/tmp_install/home/heikki/pgsql.96stable/lib" 
PGPORT='65432' 
PG_REGRESS='/home/heikki/git-sandbox-pgsql/96stable/src/bin/pg_rewind/../../../src/test/regress/pg_regress' 
prove -I ../../../src/test/perl/ --verbose t/*.pl

t/001_basic.pl 
1..8
Can't locate RewindTest.pm in @INC (you may need to install the 
RewindTest module) (@INC contains: 
/home/heikki/git-sandbox-pgsql/96stable/src/bin/pg_rewind/../../../src/test/perl 
/etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 
/usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 
/usr/share/perl/5.24 /usr/local/lib/site_perl 
/usr/lib/x86_64-linux-gnu/perl-base) at t/001_basic.pl line 6.

BEGIN failed--compilation aborted at t/001_basic.pl line 6.

That's not nice. Perl's @INC usually contains the current directory, and 
those test suites rely on that, but that changed recently on Debian 
stretch, and other distributions are likely to follow. There's more 
information on this at https://www.debian.org/security/2016/dsa-3628.


I think we should fix this by the attached. Any better ideas?

I'm a bit surprised no-one else has reported this yet. Have I missed a 
report?


- Heikki
>From d6f4eea7ee41a1d2ab0335bd126bf2cca7017cdd Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas 
Date: Fri, 7 Oct 2016 14:40:43 +0300
Subject: [PATCH 1/1] Make TAP test suites to work, when @INC does not contain
 current dir.

Perl and/or new Linux distributions are starting to remove "." from
the @INC list by default. That breaks the pg_rewind and ssl test suites,
which use helper perl modules that reside in the same directory. To fix,
add the correct directory explicitly to prove's include dir.
---
 src/bin/pg_rewind/Makefile | 2 ++
 src/test/ssl/Makefile  | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/bin/pg_rewind/Makefile b/src/bin/pg_rewind/Makefile
index d03a0a2..af4a800 100644
--- a/src/bin/pg_rewind/Makefile
+++ b/src/bin/pg_rewind/Makefile
@@ -18,6 +18,8 @@ include $(top_builddir)/src/Makefile.global
 PG_CPPFLAGS = -I$(libpq_srcdir)
 PG_LIBS = $(libpq_pgport)
 
+PG_PROVE_FLAGS += -I$(top_srcdir)/$(subdir)
+
 override CPPFLAGS := -I$(libpq_srcdir) -DFRONTEND $(CPPFLAGS)
 
 OBJS	= pg_rewind.o parsexlog.o xlogreader.o datapagemap.o timeline.o \
diff --git a/src/test/ssl/Makefile b/src/test/ssl/Makefile
index 2b04d82..c65791c 100644
--- a/src/test/ssl/Makefile
+++ b/src/test/ssl/Makefile
@@ -13,6 +13,8 @@ subdir = src/test/ssl
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
+PG_PROVE_FLAGS += -I$(top_srcdir)/$(subdir)
+
 CERTIFICATES := server_ca server-cn-and-alt-names \
 	server-cn-only server-single-alt-name server-multiple-alt-names \
 	server-no-names server-revoked server-ss \
-- 
2.9.3


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers