Thread: pgsql: Allow for installation-aware instances of PostgresNode

pgsql: Allow for installation-aware instances of PostgresNode

From
Andrew Dunstan
Date:
Allow for installation-aware instances of PostgresNode

Currently instances of PostgresNode find their Postgres executables in
the PATH of the caller. This modification allows for instances that know
the installation path they are supposed to use, and the module adjusts
the environment of methods that call Postgres executables appropriately.

This facility is activated by passing the installation path to the
constructor:

  my $node = PostgresNode->get_new_node('mynode',
     installation_path => '/path/to/installation');

This makes a number of things substantially easier, including

. testing third party modules
. testing different versions of postgres together
. testing different builds of postgres together

Discussion: https://postgr.es/m/a94c74f9-6b71-1957-7973-a734ea3cbef1@dunslane.net

Reviewed-By:  Alvaro Herrera, Michael Paquier, Dagfinn Ilmari Mannsåker

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b34ca595abd697e716ce369ec1b58624bdd1c431

Modified Files
--------------
src/test/perl/PostgresNode.pm | 169 ++++++++++++++++++++++++++++++++++--------
1 file changed, 138 insertions(+), 31 deletions(-)