white smoke up the chimney

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема white smoke up the chimney
Дата
Msg-id 409BC2D5.20006@dunslane.net
обсуждение исходный текст
Ответ на Re: regression failures - further data  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers-win32
Andrew Dunstan wrote:

> Andrew Dunstan wrote:
>
>>
>> still investigating ...
>>
>
> The log traces (log_connections=true, log_disconnections=true,
> log_statement='all') show that if I run without limiting
> max_connections, the next tests start up before the copy is finished -
> no wonder things get right royally screwed as a result.
>
> It seems like the problem is in the Msys shell. It appears not to wait
> correctly for a job to finish (Single tests are run in the foreground
> by the shell, so no explicit 'wait' is run - I tried putting one in
> with no effect). It's probably triggered by the copy test because it
> takes such a long time. I have no idea why the parallelism of the
> tests should affect it.
>
> trying to find a workaround.
>

OK. The workaround that I have just come up with worked has just worked
in 6 successive runs of "make check" and friends under MSys, so I'm
prepared to declare a win and start preparing patches. It will be next
week before I can get that done.

The workaround is to run the single command in a background shell and
wait for it, just like the parallel tests.

Here is a summary of the diffs in my tree:
. configure.in
    - checks at the end to make sure that links have built properly and
warns if not
. src/bin
    - added pgkill based in the one on the web page, with a Makefile and
install target
. src/bin/psql/print.c
    - suppress newline after footers for win32, as previously discussed
. src/test/regress/GNUmakefile
    - added a target pinstallcheck to run against an installed and
running server, but using the parallel tests
    - add a test to the sed command to make sure the files were built
correctly
. src/test/pg_regress.sh
    - see previous post and above
    - also calls pgkill under mingw instead of kill -15, which doesn't
work. Gets the pid for pgkill from postmaster.pid.
. src/test/regress/expected/join-win32.out
    - new file reflecting different order from join results on win32
. src/test/regress/resultmap.out
    - maps above for win32

The pgkill stuff is pending us getting a binary pg_ctl. But it seems to
work very well.

With all these changes I now consistently get 94 of 94 tests passing,
and a completely clean (and automatic) server shutdown.

cheers

andrew



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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Couldn't make check
Следующее
От: "Dave Page"
Дата:
Сообщение: Re: Couldn't make check