On 05/18/2015 12:48 PM, Tom Lane wrote:
The MSVC members of the buildfarm seem to not like my recent patch
b14cf229f4bd7238, which basically did this to contrib/hstore_plpython's
Makefile:
SHLIB_LINK += ../hstore/libhstore.a $(wildcard
../../src/pl/plpython/libpython*.a) $(wildcard
../../src/pl/plpython/libplpython*.a)
endif
-REGRESS_OPTS = --load-extension=hstore
+REGRESS_OPTS += --load-extension=hstore
ifeq ($(python_majorversion),2)
REGRESS_OPTS += --load-extension=plpythonu --load-extension=hstore_plpythonu
endif
Now they're failing to load hstore before running the regression test, eg
http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=bowerbird&dt=2015-05-18%2015%3A37%3A17
Looking at vcregress.pl's sub fetchRegressOpts, it seems that it only
notices "REGRESS_OPTS =" lines not "REGRESS_OPTS +=" lines, so that
isn't surprising --- but how is it that the tests *are* still loading
plpythonu and hstore_plpythonu? I grant that my Perl is weak, but
I don't see how this code would ever have dealt with either lines
using +=, or multiple assignments to REGRESS_OPTS. How come it worked
before?
relevant code:
if ($module eq "hstore_plpython" ||
$module eq "ltree_plpython")
{
die "Python not enabled in configuration"
if !defined($config->{python});
# Attempt to get python version and location.
# Assume python.exe in specified dir.
my $pythonprog = "import sys;" .
"print(str(sys.version_info[0]))";
my $prefixcmd = $config->{python}
. "\\python -c \"$pythonprog\"";
my $pyver = `$prefixcmd`;
die "Could not query for python version!\n" if $?;
chomp($pyver);
if ($pyver eq "2")
{
push @opts, "--load-extension=plpythonu";
push @opts, '--load-extension=' . $module . 'u';
}
else
{
# disable tests on python3 for now.
chdir "..";
return;
}
}
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers