Andrew Dunstan wrote:
Tom Lane wrote:
I believe (but won't be able to prove for another few hours) that the
reason the MSVC buildfarm members are failing on contrib/unaccent,
as seen here:
http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=mastodon&dt=2009-08-18%2013:00:00
is that they are not running the test in a UTF8-encoded database.
And the reason for *that* is that the MSVC build infrastructure pays no
attention to REGRESS_OPTS. Instead it's got hardwired values for all
the pg_regress command line options, and of course it needs to hardwire
several different sets of values for different tests :-(.
I think it's time to fix that properly by making the perl scripts
dredge REGRESS_OPTS out of the makefiles. My perl-fu is not up to
the task, however. Anybody want to do it?
This seems like a stop-ship issue for 8.5alpha1, even though it's only
a contrib regression test that's certain to fail; so I think it's a
bit urgent.
I will take a look.
Here's an untested patch ... I think it should do the job, however, at
least for contrib modules, which is the immediate problem.
cheers
andrew
Index: src/tools/msvc/vcregress.pl
===================================================================
RCS file: /cvsroot/pgsql/src/tools/msvc/vcregress.pl,v
retrieving revision 1.10
diff -c -r1.10 vcregress.pl
*** src/tools/msvc/vcregress.pl 1 Dec 2008 13:39:45 -0000 1.10
--- src/tools/msvc/vcregress.pl 18 Aug 2009 18:12:59 -0000
***************
*** 185,194 ****
print "============================================================\n";
print "Checking $module\n";
my @tests = fetchTests();
my @args = (
"../../$Config/pg_regress/pg_regress",
"--psqldir=../../$Config/psql",
! "--dbname=contrib_regression",@tests
);
system(@args);
my $status = $? >> 8;
--- 185,195 ----
print "============================================================\n";
print "Checking $module\n";
my @tests = fetchTests();
+ my @opts = fetchRegressOpts();
my @args = (
"../../$Config/pg_regress/pg_regress",
"--psqldir=../../$Config/psql",
! "--dbname=contrib_regression",@opts,@tests
);
system(@args);
my $status = $? >> 8;
***************
*** 198,203 ****
--- 199,223 ----
exit $mstat if $mstat;
}
+ sub fetchRegressOpts
+ {
+ my $handle;
+ open($handle,"<Makefile")
+ || open($handle,"<GNUmakefile")
+ || die "Could not open Makefile";
+ local($/) = undef;
+ my $m = <$handle>;
+ close($handle);
+ my @opts;
+ if ($m =~ /^\s*REGRESS_OPTS\s*=(.*)/m)
+ {
+ # ignore options that use makefile variables - can't handle those
+ # ignore anything that isn't an option staring with --
+ @opts = grep { $_ !~ /\$\(/ && $_ =~ /^--/ } split(/\s+/,$1);
+ }
+ return @opts;
+ }
+
sub fetchTests
{
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers