Re: make installcheck-world in a clean environment

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: make installcheck-world in a clean environment
Date: 2018-07-12 12:32:00
Message-ID: 13311de0-456c-fe1e-3e61-9bdf916ef1a2@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Tom,

11.07.2018 23:15, Tom Lane wrote:
>
>> /make clean/
>> # Also you can just install binary packages to get the same state.
>> make installcheck-world
>> # This check fails.
> I do not think that should be expected to work. It would require that
> "make installcheck" first invoke "make all" (to rebuild the stuff you
> threw away with "make clean"), which is rather antithetical to its
> purpose. Specifically, installcheck is supposed to be checking something
> you already built; so having it do a fresh build seems to introduce
> version-skew hazards that we don't need.
If I understand correctly, the installcheck target should not use the
stuff in the build directory (that is thrown away with 'make clean'),
but instead should use/check the installed assets.
In fact with REL_10_STABLE you can run "make clean && make installcheck"
and it works just fine (without calling 'make all'). It's sufficient to
have a working instance running. And I think, this behavior is correct —
"installcheck" supposed to check not something we built ("check" is
supposed to do that), but something we installed.
And only if I run "make installcheck-world" with REL_10_STABLE I get an
error related to ECPG, I've referred to in the first message in this thread.
In the master branch there was some changes that prevent "make clean &&
make installcheck" scenario to run, but I think it can (and should) be
fixed too.
(When I prepared the patches, there were no differences between these
branches in this aspect.)
So for me the question is what assets should the installcheck target be
checking? Installed or built ones? For example, if psql/pg_dump/ecpg/...
is installed in /usr/local/pgsql/bin/, should it be checked by the
installcheck? And if we target the installed stuff then why do we need
to build something (or have something built) for installcheck?

Best regards,
------

Alexander Lakhin
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-07-12 12:38:38 Re: Temporary WAL segments files not cleaned up after an instance crash
Previous Message Masahiko Sawada 2018-07-12 12:28:52 Re: Copy function for logical replication slots