white smoke up the chimney - Mailing list pgsql-hackers-win32

From Andrew Dunstan
Subject white smoke up the chimney
Date
Msg-id 409BC2D5.20006@dunslane.net
Whole thread Raw
In response to Re: regression failures - further data  (Andrew Dunstan <andrew@dunslane.net>)
List 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 by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Couldn't make check
Next
From: "Dave Page"
Date:
Subject: Re: Couldn't make check