Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc.
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Amir Rohan <amir.rohan@zoho.com>, Robert Haas <robertmhaas@gmail.com>,
Noah Misch <noah@leadboat.com>, Andres Freund <andres@2ndquadrant.com>,
PostgreSQL mailing lists <pgsql-hackers@postgresql.org>,
Greg Smith <gsmith@gregsmith.com>
Date: 2015-11-25T01:55:15Z
Lists: pgsql-hackers
Michael Paquier wrote: > On Wed, Nov 25, 2015 at 6:22 AM, Alvaro Herrera <alvherre@2ndquadrant.com> > wrote: > > > Michael Paquier wrote: > > This looks great as a starting point. I think we should make TestLib > > depend on PostgresNode instead of the other way around. I will have a > > look at that (I realize this means messing with the existing tests). > > Makes sense. My thoughts following that is that we should keep a track of > the nodes started as an array which is part of TestLib, with PGHOST set > once at startup using tempdir_short. That's surely an refactoring patch > somewhat independent of the recovery test suite. I would not mind writing > something among those lines if needed. OK, please do. We can split this up in two patches: one introducing PostgresNode (+ RecursiveCopy) together with the refactoring of existing test code, and a subsequent one introducing RecoveryTest and the corresponding subdir. Sounds good? > > > 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. > > > > I don't disagree with this in principle, but I think the design that you > > get a new PostgresNode object by calling get_free_port is strange. I > > think the port lookup code should be part of either TestLib or > > PostgresNode, not RecoveryTest. > > I'd vote for TestLib. I have written PostgresNode this way to allow users > to set up arbitrary port numbers if they'd like to do so. That's more > flexible. That works for me. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Add a test framework for recovery
- 49148645f7f3 9.6.0 landed
-
Refactor Perl test code
- 1caef31d9e55 9.6.0 cited
-
pgindent run for 9.5
- 807b9e0dff66 9.5.0 cited