On 2013-11-08 17:11:58 -0500, Peter Eisentraut wrote:
> On 11/8/13, 3:03 PM, Robert Haas wrote:
> > On Fri, Nov 8, 2013 at 12:38 PM, Robert Haas <robertmh...@gmail.com> wrote:
> >> On Tue, Nov 5, 2013 at 10:21 AM, Andres Freund <and...@2ndquadrant.com> 
> >> wrote:
> >>> Attached to this mail and in the xlog-decoding-rebasing-remapping branch
> >>> in my git[1] repository you can find the next version of the patchset 
> >>> that:
> >>
> >> I have pushed patches #1 and #2 from this series as a single commit,
> >> after some editing.
> > 
> > And I've also pushed patch #13, which is an almost-totally-unrelated
> > improvement that has nothing to do with logical replication, but is
> > useful all the same.
> 
> Please fix this new compiler warning:
> 
> pg_regress_ecpg.c: In function ‘main’:
> pg_regress_ecpg.c:170:2: warning: passing argument 3 of ‘regression_main’ 
> from incompatible pointer type [enabled by default]
> In file included from pg_regress_ecpg.c:19:0:
> ../../../../src/test/regress/pg_regress.h:55:5: note: expected 
> ‘init_function’ but argument is of type ‘void (*)(void)’

Hrmpf...

I usually run something akin to
# make -j3 -s && (cd contrib && make -j3 -s)
and then in a separate step
# make -s check-world
this is so I see compiler warnings before drowning them in check-world's
output. But ecpg/test isn't built during make in src/interfaces/ecpg,
but just during make check there.

ISTM ecpg's regression tests should be built (not run!) during
$(recurse) not just during make check. Patch towards that end attached.

Also attached is the fix for the compilation warning itself.

Greetings,

Andres Freund

-- 
 Andres Freund                     http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services
>From 99aaf866b315af21fddd858c3d2922ca21918f8c Mon Sep 17 00:00:00 2001
From: Andres Freund <and...@anarazel.de>
Date: Sat, 9 Nov 2013 11:49:27 +0100
Subject: [PATCH 1/2] Recurse into ecpg/test during normal builds, instead just
 during make check.

ecpg's make check, which currently compiles the contents of ecpg/test, is only
executed during "make check-world" and not "make all" making warnings during
the compilation of the tests hard to spot manually.
Instead build the test framework during a normal toplevel "make all".
---
 src/interfaces/ecpg/Makefile | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile
index e397210..4f05ae4 100644
--- a/src/interfaces/ecpg/Makefile
+++ b/src/interfaces/ecpg/Makefile
@@ -2,7 +2,7 @@ subdir = src/interfaces/ecpg
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
-SUBDIRS = include pgtypeslib ecpglib compatlib preproc
+SUBDIRS = include pgtypeslib ecpglib compatlib preproc test
 
 # Suppress parallel build of subdirectories to avoid a bug in gmake 3.82, cf
 # http://savannah.gnu.org/bugs/?30653
@@ -16,15 +16,13 @@ endif
 
 $(recurse)
 
-all-pgtypeslib-recurse all-ecpglib-recurse all-compatlib-recurse all-preproc-recurse: all-include-recurse
+all-pgtypeslib-recurse all-ecpglib-recurse all-compatlib-recurse all-preproc-recurse all-test-recurse: all-include-recurse
 all-compatlib-recurse: all-ecpglib-recurse
 all-ecpglib-recurse: all-pgtypeslib-recurse
-install-pgtypeslib-recurse install-ecpglib-recurse install-compatlib-recurse install-preproc-recurse: install-include-recurse
+install-pgtypeslib-recurse install-ecpglib-recurse install-compatlib-recurse install-preproc-recurse insta--test-recurse: install-include-recurse
 install-compatlib-recurse: install-ecpglib-recurse
 install-ecpglib-recurse: install-pgtypeslib-recurse
-
-clean distclean maintainer-clean:
-	$(MAKE) -C test clean
+all-test-recurse: all-preproc-recurse all-ecpglib-recurse all-compatlib-recurse
 
 check checktcp installcheck: all
 	$(MAKE) -C test $@
-- 
1.8.3.251.g1462b67

>From a0aa8180a849751df6fdcf49a83ff87d906c8aed Mon Sep 17 00:00:00 2001
From: Andres Freund <and...@anarazel.de>
Date: Sat, 9 Nov 2013 11:53:33 +0100
Subject: [PATCH 2/2] ecpg: Adapt to recent pg_regress init_function API
 changes

This fixes the warning during ecpg's test compilation introduced in
9b4d52f2095be96ca238ce41f6963ec56376491f.
---
 src/interfaces/ecpg/test/pg_regress_ecpg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/interfaces/ecpg/test/pg_regress_ecpg.c b/src/interfaces/ecpg/test/pg_regress_ecpg.c
index d01703e..740b566 100644
--- a/src/interfaces/ecpg/test/pg_regress_ecpg.c
+++ b/src/interfaces/ecpg/test/pg_regress_ecpg.c
@@ -159,7 +159,7 @@ ecpg_start_test(const char *testname,
 }
 
 static void
-ecpg_init(void)
+ecpg_init(int argc, char *argv[])
 {
 	/* nothing to do here at the moment */
 }
-- 
1.8.3.251.g1462b67

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

Reply via email to