Re: convert libpq uri-regress tests to tap test
От | Andres Freund |
---|---|
Тема | Re: convert libpq uri-regress tests to tap test |
Дата | |
Msg-id | 20220224164623.m3vdtr7ojilhaxgz@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: convert libpq uri-regress tests to tap test (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: convert libpq uri-regress tests to tap test
|
Список | pgsql-hackers |
Hi, On 2022-02-24 10:17:28 -0500, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > On 2022-02-24 13:31:40 +0100, Peter Eisentraut wrote: > >> I think the TAP scripts should be in src/interfaces/libpq/t/, as usual. The > >> supporting code snippets could live in some other directory under > >> src/interfaces/libpq/, which might be called "test" or something else, not > >> that important. > > > Why not in t/? We can't easily build the test programs in libpq/ itself, but > > libpq/t should be fairly doable. > > I think that having t/ directories contain only Perl test scripts > is a good convention that we should stick to. Peter's proposal > of a separate test/ subdirectory for C test scaffolding is > probably fine. That exists today and continues to exist in the patch upthread, so it's easy ;). I just need to move the libpq/test/t to libpq/t and adjust the binary path. One annoying bit is that our current tap invocation infrastructure for msvc won't know how to deal with that. We put the build directory containing t/ onto PATH, but that won't work for test/. But we also don't want to install test binaries. Not sure what the solution for that is. Even on !windows, we only know how to find "test executables" in tap tests via PATH. We're in the source dir, so we can't just do test/executable. I probably just need another coffee, but right now I don't even see how to add anything to PATH given $(prove_check)'s definition - it ends up with multiple shells. We can fix that by using && in the definition, which might be a good thing anyway? Attached three patches: 0001: Convert src/interfaces/libpq/test to a tap test 0002: Add tap test infrastructure to src/interfaces/libpq 0003: Move libpq_pipeline test into src/interfaces/libpq. I did 0001 and 0002 in that order because prove errors out with a stacktrace if no tap tests exist... It might make more sense to commit them together, but for review it's easier to keep them separate I think. Andrew, do you have an idea about the feasibility of supporting any of this with the msvc build? I'm mildly inclined to only do 0001 and 0002 for now. We'd not loose msvc coverage, because it already doesn't build the test. Once we've ironed that stuff out, we could do 0003? Greetings, Andres Freund
Вложения
В списке pgsql-hackers по дате отправления: