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
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 |