Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc. - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc.
Date
Msg-id CAB7nPqTK_yZQOC9vtimZnqX7N2o_w4HpMcua-XZkOa=0Oyks1A@mail.gmail.com
Whole thread Raw
In response to Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc.  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc.  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers


On Tue, Nov 24, 2015 at 2:14 PM, Michael Paquier wrote:
I'll rework this patch and will update a new version soon.

So, attached is a new patch addressing all the comments received. The new version has the following changes:
- Print more verbosely stderr output in case of error in psql
- Add recovery test suite to SUBDIRS in src/test/Makefile
- Add strict and warnings to what is used in the new modules of this patch
- Manage node information using package/class PostgresNode.pm and have RecoveryTest use it. I have actually made PostgresNode bare-bone and simple on purpose: one can initialize the node, append configuration parameters to it and manage it through start/stop/restart (we may want to add reload and promote actually if needed). However, more complex configuration is left to RecoveryTest.pm, which is in charge of appending the configuration dedicated to streaming, archiving, etc though a set of routines working on PostgresNode objects. I have also arrived at the conclusion that it is not really worth adding a node status flag in PostgresNode because the port number saved there is sufficient when doing free port lookup, and the list of nodes used in a recovery test are saved in an array.
- Add new module RecursiveCopy to be used for base backups. This removes the dependency with Archive::Tar. PostgresNode makes use of that when initializing a node from a backup.
- Tests have been updated to use the PostgresNode objects instead of the port number as identifier. That's more portable.

Hopefully I have missed nothing.
Regards,
--
Michael
Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: GIN pending list clean up exposure to SQL
Next
From: Robert Haas
Date:
Subject: Re: parallelism and sorting