Take PROVE_FLAGS from the command line but not the environment
authorAndrew Dunstan <[email protected]>
Sat, 10 Jun 2017 14:19:06 +0000 (10:19 -0400)
committerAndrew Dunstan <[email protected]>
Sat, 10 Jun 2017 14:19:06 +0000 (10:19 -0400)
This reverts commit 56b6ef893fee9e9bf47d927a02f4d1ea911f4d9c and instead
makes vcregress.pl parse out PROVE_FLAGS from a command line argument
when doing a TAP test, thus making it consistent with the makefile
treatment.

Discussion: https://postgr.es/m/c26a7416-2fb9-34ab-7991-618c922f896e%402ndquadrant.com

Backpatch to 9.4 like previous patch.

src/Makefile.global.in
src/tools/msvc/vcregress.pl

index 8bebc0244ace80352c360119c74480536b9dbf2b..7af91e2d586c2a34b781a12fc9aa5a6b0fc6b660 100644 (file)
@@ -340,7 +340,7 @@ PROVE = @PROVE@
 # extra perl modules in their own directory.
 PG_PROVE_FLAGS = -I $(top_srcdir)/src/test/perl/ -I $(srcdir)
 # User-supplied prove flags such as --verbose can be provided in PROVE_FLAGS.
-
+PROVE_FLAGS =
 
 # prepend to path if already set, else just set it
 define add_to_path
index 468a62d8aaa72e39100e57ad88fbdc8cebfefbdf..eeba30ec8b9e965bff278a730cf13d28f6d900e5 100644 (file)
@@ -178,12 +178,18 @@ sub tap_check
    die "Tap tests not enabled in configuration"
      unless $config->{tap_tests};
 
+   my @flags;
+   foreach my $arg (0 .. scalar(@_))
+   {
+       next unless $_[$arg] =~ /^PROVE_FLAGS=(.*)/;
+       @flags = split(/\s+/, $1);
+       splice(@_,$arg,1);
+       last;
+   }
+
    my $dir = shift;
    chdir $dir;
 
-   my @flags;
-   @flags = split(/\s+/, $ENV{PROVE_FLAGS}) if exists $ENV{PROVE_FLAGS};
-
    my @args = ("prove", @flags, "t/*.pl");
 
    # adjust the environment for just this test