Re: Postgres perl module namespace
От | Andrew Dunstan |
---|---|
Тема | Re: Postgres perl module namespace |
Дата | |
Msg-id | f0d10209-7921-365a-aa7d-066e8cb8062e@dunslane.net обсуждение исходный текст |
Ответ на | Re: Postgres perl module namespace (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Postgres perl module namespace
Re: Postgres perl module namespace |
Список | pgsql-hackers |
On 2022-04-18 Mo 14:07, Tom Lane wrote: > Andrew Dunstan <andrew@dunslane.net> writes: >> No, I think we could probably just port the whole of src/test/PostreSQL >> back if required, and have it live alongside the old modules. Each TAP >> test is a separate miracle - see comments elsewhere about port >> assignment in parallel TAP tests. >> But that would mean we have some tests in the old flavor and some in the >> new flavor in the back branches, which might get confusing. > That works for back-patching entire new test scripts, but not for adding > some cases to an existing script, which I think is more common. > > I think I've come up with a better scheme that I hope will fix all or almost all of the pain complained of in this thread. I should note that we deliberately delayed making these changes until fairly early in the release 15 development cycle, and that was clearly a good decision. The attached three patches basically implement the new naming scheme for the back branches without doing away with the old scheme or doing a wholesale copy of the new modules. The first simply implements a proper "new" constructor for PostgresNode, just like we have in PostgreSQL:Test::Cluster. It's not really essential but it seems like a good idea. The second adds all the visible functionality of the PostgresNode and TestLib modules to the PostgreSQL::Test::Cluster and PostgreSQL::Test::Utils namespaces.. The third adds dummy packages so that any code doing 'use PostgreSQL::Test::Utils;' or 'use PostgreSQL::Test::Cluster;' will actually import the old modules. This last piece is where there might be some extra work needed, to export the names so that using an unqualified function or variable, say, 'slurp_file("foo");' will work. But in general, modulo that issue, I believe things should Just Work (tm). You should basically just be able to backpatch any new or modified TAP test without difficulty, sed script usage, etc. Comments welcome. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
Вложения
В списке pgsql-hackers по дате отправления: