Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc.
От | Michael Paquier |
---|---|
Тема | Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc. |
Дата | |
Msg-id | CAB7nPqTgaKxw7g82zZOtFYiEFsDVmVB7BbcOaYZBacc=9=FEWA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc. (Michael Paquier <michael.paquier@gmail.com>) |
Ответы |
Re: Re: In-core regression tests for replication,
cascading, archiving, PITR, etc.
|
Список | pgsql-hackers |
On Wed, Dec 2, 2015 at 1:04 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Wed, Dec 2, 2015 at 12:01 PM, Alvaro Herrera > <alvherre@2ndquadrant.com> wrote: >> Michael Paquier wrote: >>> On Wed, Dec 2, 2015 at 8:11 AM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote: >> >>> > - It would be nice to have command_ok and command_fails in PostgresNode >>> > too; that would remove the need for setting $ENV{PGPORT} but it's >>> > possible to run commands outside a node too, so we'd need duplicates, >>> > which would be worse. >>> >>> I am fine to let it the way your patch does it. There are already many changes. >> >> Idea: we can have a bare command_ok exported by TestLib just as >> currently, and instance method PostgresNode->command_ok that first sets >> local $ENV{PGPORT} and then calls the other one. > > Hm. That would be cleaner and make the code more consistent. Now as > TestLib exports command_ok, command_like and command_fails, we would > get redefinition errors when compiling the code if those routines are > not named differently in PostgresNode. If you want to have the names > consistent, then I guess that the only way would be to remove those > routines from the export list of TestLib and call them directly as for > example TestLib::command_ok(). See for example the patch attached that > applies on top on your patch 2 that adds a set of routines in > PostgresNode with a slightly different name. Well, Alvaro has whispered me a more elegant method by using TestLib() to only import a portion of the routines and avoid the redefinition errors. Hence, patch 0001 attached creates equivalents of command_* for PostgresNode and tests use it without setting PGPORT. Patch 0002 is a run of perltidy on the whole. -- Michael
Вложения
В списке pgsql-hackers по дате отправления: