I wrote:
> What I think happened here is that diff reported a difference and
> pg_regress misinterpreted the exit status as being a hard failure.
> Can someone check on whether it's possible to tell the difference
> between these cases with Windows diff ?
So the latest result shows that the return value from system() is
in fact "1":
type_sanity ... ok opr_sanity ... ok
test geometry ... diff command failed with status 1: "diff -w "./expected/geometry.out"
"./results/geometry.out">"./results/geometry.diff""
server stopped
What I am now wondering is why win32.h defines WIFEXITED and WEXITSTATUS
the way it does. We have not previously been using those macros to test
the result of system() --- at least not in any exercised code path ---
and what I'm thinking is that they are flat out wrong. At least for
testing system(). Are the results of GetExitCodeProcess() and pclose()
really defined differently?
regards, tom lane