Re: Handling of REGRESS_OPTS in MSVC for regression tests

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: Handling of REGRESS_OPTS in MSVC for regression tests
Дата
Msg-id 20181127012717.GA1716@paquier.xyz
обсуждение исходный текст
Ответ на Re: Handling of REGRESS_OPTS in MSVC for regression tests  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Ответы Re: Handling of REGRESS_OPTS in MSVC for regression tests  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
On Mon, Nov 26, 2018 at 12:41:21PM -0500, Andrew Dunstan wrote:
> It's not the buildfarm that is broken. Both contribcheck() and
> modulescheck() in vcregress.pl run in installcheck mode, i.e. with an
> already running database. That makes the tests run faster, because setting
> up and breaking down instances is expensive, especially on Windows. We've
> got far too profligate with that in recent years, to the extent that some of
> my Windows buildfarm animals take many hours to complete full runs these
> days.

I have noticed the performance impact when switching to check for those
targets.  It was bad.

> Note that TAP tests are not a problem here. It's up to the TAP scripts to
> set up and break down postgres instances they need, with whatever config
> options are required, such as shared preload libraries. It's only modules
> using pg_regress that could be a problem.

Indeed.

> A simple way to proceed might be to have vcregress.pl honor the
> NO_INSTALLCHECK flag. Currently this is only used by pg_stat_statements, but
> we could add it anywhere required. In vcregress.pl, I would probably do this
> by having fetchTests() check for the flag and return an empty set of tests
> if it's found, and in turn have subdircheck() do nothing if it has an empty
> set of tests.

Okay, let's do so by supporting correctly NO_INSTALLCHECK.  My other
refactoring work can also live with that.  Returning an empty list via
fetchTests() and bypass a run if nothing is present looks fine to me.
One extra thing is that modules/commit_ts and modules/test_rls_hooks are
missing NO_INSTALLCHECK, so we would need to add that part to be
completely correct.  I would also be inclined to back-patch both parts,
however for my stuff I could live with this patch only on HEAD, and
anybody willing to use installcheck on commit_ts and test_rls_hooks may
be surprised to not be able to do that anymore after the minor release.
It still looks incorrect to me though to be able to run installcheck on
those modules though...

Attached is a proposal of patch, which works as I would expect with
modulescheck and contribcheck.  How does that look?
--
Michael

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: reg* checks in pg_upgrade are out of date
Следующее
От: Haribabu Kommi
Дата:
Сообщение: Re: Pluggable Storage - Andres's take