Michael Paquier wrote: > - 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).
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). > 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. > - 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. Great. > - Tests have been updated to use the PostgresNode objects instead of the > port number as identifier. That's more portable. Makes sense. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers