#3624 closed defect (fixed)

load_outdb related tests fail for 2.2.2 & 2.3.0-beta1 on Debian unstable

Reported by: Bas Couwenberg Owned by: robe
Priority: blocker Milestone: PostGIS 2.2.3
Component: build/upgrade/install Version: 2.2.x
Keywords: Cc:

Description

It seems the -pre.pl & -post.pl scripts are no longer executed, because the load_outdb tests report an error for the missing table:

ERROR:  relation "raster_outdb_template" does not exist at character 22

To troubleshoot this issue I used the following patch:

--- a/regress/run_test.pl
+++ b/regress/run_test.pl
@@ -638,7 +638,11 @@ sub eval_file
         #$pl = <PL>;
         #close(PL);
         #eval($pl);
-                               do $file;
+        unless (my $return = do $file) {
+           warn "couldn't parse $file: $@" if $@;
+           warn "couldn't do $file: $!"    unless defined $return;
+           warn "couldn't run $file"       unless $return;
+       }
     }
 } 

For the load_outdb related tests this reports:

PostgreSQL 9.5.4 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.1.1-11) 6.1.1 20160802, 64-bit
  Postgis 2.3.0beta1 - r15063 - 2016-09-06 12:24:46
  scripts 2.3.0beta1 r15063
  raster scripts 2.3.0beta1 r15063
  GEOS: 3.5.0-CAPI-1.9.0 r4084
  PROJ: Rel. 4.9.3, 15 August 2016
  GDAL: GDAL 2.1.1, released 2016/07/07

Running tests

 check_gdal ..couldn't do load_outdb-pre.pl: No such file or directory at ../../../regress/run_test.pl line 643.
couldn't run load_outdb-pre.pl at ../../../regress/run_test.pl line 644.
 failed (diff expected obtained: /tmp/pgis_reg/test_1_diff)
 load_outdb ..couldn't do load_outdb-post.pl: No such file or directory at ../../../regress/run_test.pl line 643.
couldn't run load_outdb-post.pl at ../../../regress/run_test.pl line 644.
 failed (diff expected obtained: /tmp/pgis_reg/test_2_diff)

This seems to be caused by . being removed from @INC in perl to fix This seems to be caused by . being removed from @INC in perl to fix ​CVE-2016-1238. n.org/tracker/CVE-2016-1238 CVE-2016-1238.

The -pre.pl & -post.pl scripts for loader/ tests aren't executed either, but those tests handle that gracefully when they cannot read the expected files.

attachment:run_test-INC.patch adds . to @INC if it's not present, which resolves this issue.

Attachments (1)

run_test-INC.patch (630 bytes) - added by Bas Couwenberg 22 months ago.

Download all attachments as: .zip

Change History (9)

Changed 22 months ago by Bas Couwenberg

Attachment: run_test-INC.patch added

comment:1 Changed 22 months ago by Bas Couwenberg

Summary: load_outdb related tests fail for 2.2.2 & 2.3.0-beta1on Debian unstableload_outdb related tests fail for 2.2.2 & 2.3.0-beta1 on Debian unstable

comment:2 Changed 22 months ago by Bas Couwenberg

The Debian perl maintainers sent an extensive announcement about this change recently, see:

Upcoming change to perl: current directory in @INC

comment:4 Changed 22 months ago by robe

Status: newreopened

oops sorry flagged wrong ticket.

comment:5 Changed 22 months ago by robe

Milestone: PostGIS 2.3.0PostGIS 2.2.3
Priority: mediumblocker

comment:6 Changed 22 months ago by robe

Owner: changed from pramsey to robe
Status: reopenednew

comment:7 Changed 22 months ago by robe

Committed patch for trunk (2.3) at r15072

comment:8 Changed 22 months ago by robe

Component: postgisbuild/upgrade/install

comment:9 Changed 22 months ago by robe

Resolution: fixed
Status: newclosed

In 15073:

load_outdb related tests fix for @INC change in perl
patch from Sebastiaan Couwenberg
closes #3624 for PostGIS 2.2

Note: See TracTickets for help on using tickets.