Magnus Hagander wrote:
Andrew Dunstan wrote:
mastodon and skylark just failed at the make stage due to a thinko on my
part (now fixed). However, this is not correctly caught by the buildfarm
script, meaning that the process invoked at this stage ('build 2>&1') is
not exiting properly with a non-zero status on error. That needs to be
fixed.
I was just checking this, and I'm not sure what the problem is. I tried
updating to the broken version of solution.pm (the one missing the
quotes around --with-pgport), and it works for me. Insofar that I get
errorlevel 255 set when exiting the process. Both if I run "perl
mkvcbuild.pl" and if I run "build" (yes, also for build 2>&1).
The error given is "Can't modify constant item in predecrement" and then
a compile error.
Am I testing the wrong thing? Could it be that the buildfarm script is
somehow not picking up error code 255? (in all cases where it's errors
from the vc++ tools, I think it's always errorcode 1 or 2)
The code executed is:
chdir "$pgsql/src/tools/msvc";
@makeout = `build 2>&1`;
chdir $branch_root;
my $status = $? >>8;
The perl docs say this about $?:
The status returned by the last pipe close, backtick (‘‘) com-
mand, successful call to wait() or waitpid(), or from the sys-
tem() operator. This is just the 16-bit status word returned
by the wait() system call (or else is made up to look like it).
Thus, the exit value of the subprocess is really ("$? >> 8"),
and "$? & 127" gives which signal, if any, the process died
from, and "$? & 128" reports whether there was a core dump.
cheers
andrew
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings