white smoke up the chimney

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: pgsql-hackers-win32(at)postgresql(dot)org
Subject: white smoke up the chimney
Date: 2004-05-07 17:09:41
Message-ID: 409BC2D5.20006@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Dave Page 2004-05-08 09:21:26 Re: Couldn't make check
Previous Message Andrew Dunstan 2004-05-07 16:23:41 Re: Couldn't make check