On Fri, May 4, 2018 at 8:30 AM, Alexander Lakhin <exclusion@gmail.com> wrote:
> I'm not seeing a workaround to perform more complete installcheck without
> modifying makefiles. So for me the question is whether the increasing the
> testing surface justifies this use of time.
After thinking about this some more, I think the question here is
definitional. A first attempt at defining 'make installcheck' is to
say that it runs the tests from the build tree against the running
server. Certainly, we intend to use the SQL files that are present in
the build tree, not the ones that were present in the build tree where
the running server was built. But what about client programs that we
use to connect to the server? You're suggesting that we use the
pre-installed ones, but that is actually pretty problematic because
the ones we see as installed might correspond neither to the contents
of the build tree nor to the running server. Conceivably we could end
up having a mix of assets from three different places: (1) the running
server, (2) the build tree, (3) whatever is in our path at the moment.
That seems very confusing. So now I think it's probably right to
define 'make installcheck' as using the assets from the build tree to
test the running server. Under that definition, we're missing some
dependencies, but USE_INSTALLED_ASSETS isn't a thing we need.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company