[postgis-tickets] [PostGIS] #4795: Fix tests on PostGIS 3.0 so they pass for GEOS 3.9

PostGIS trac at osgeo.org
Wed Nov 18 20:36:10 PST 2020


#4795: Fix tests on PostGIS 3.0 so they pass for GEOS 3.9
---------------------+---------------------------
 Reporter:  robe     |      Owner:  robe
     Type:  defect   |     Status:  assigned
 Priority:  medium   |  Milestone:  PostGIS 3.0.3
Component:  postgis  |    Version:  2.5.x
 Keywords:           |
---------------------+---------------------------
 {{{
 inGW-W64 project) 8.1.0, 64-bit
   Postgis 3.0.3 - r3.1.0alpha2-164-gd2d5c9f98 - 2020-11-19 04:27:04
   scripts 3.0.3 3.1.0alpha2-164-gd2d5c9f98
   GEOS: 3.9.0-CAPI-1.14.0
   PROJ: 7.2.0

 Running tests

  ../loader/Point .............. ok
  ../loader/PointM .............. ok
  ../loader/PointZ .............. ok
  ../loader/MultiPoint .............. ok
  ../loader/MultiPointM .............. ok
  ../loader/MultiPointZ .............. ok
  ../loader/Arc .............. ok
  ../loader/ArcM .............. ok
  ../loader/ArcZ .............. ok
  ../loader/Polygon .............. ok
  ../loader/PolygonM .............. ok
  ../loader/PolygonZ .............. ok
  ../loader/TSTPolygon ......... ok
  ../loader/TSIPolygon ......... ok
  ../loader/TSTIPolygon ......... ok
  ../loader/PointWithSchema ..... ok
  ../loader/NoTransPoint ......... ok
  ../loader/NotReallyMultiPoint ......... ok
  ../loader/MultiToSinglePoint ......... ok
  ../loader/ReprojectPts ........ ok
  ../loader/ReprojectPtsD ..... ok
  ../loader/ReprojectPtsGeog ........ ok
  ../loader/ReprojectPtsGeogD ........ ok
  ../loader/Latin1 .... ok
  ../loader/Latin1-implicit .... ok
  ../loader/mfile .... ok
  ../dumper/literalsrid ....... ok
  ../dumper/realtable ....... ok
  ../dumper/nullsintable ....... ok
  ../dumper/null3d ..... ok
  affine .. ok
  bestsrid .. ok
  binary .. ok
  boundary .. ok
  chaikin .. ok
  filterm .. ok
  cluster .. ok
  concave_hull .. ok
  ctors .. ok
  curvetoline .. ok
  dump .. ok
  dumppoints .. ok
  empty .. ok
  estimatedextent .. ok
  forcecurve .. ok
  geography .. ok
  geometric_median .. ok
  hausdorff .. ok
  in_geohash .. ok
  in_gml .. ok
  in_kml .. ok
  in_encodedpolyline .. ok
  iscollection .. ok
  legacy .. ok
  long_xact .. ok
  lwgeom_regress .. ok
  measures .. ok
  minimum_bounding_circle .. ok
  normalize .. ok
  operators .. ok
  orientation .. ok
  out_geometry .. ok
  out_geography .. ok
  polygonize .. ok
  polyhedralsurface .. ok
  postgis_type_name .. ok
  quantize_coordinates .. ok
  regress .. ok
  regress_bdpoly .. ok
  regress_buffer_params .. ok
  regress_gist_index_nd .. ok
  regress_index .. ok
  regress_index_nulls .. ok
  regress_management .. ok
  regress_selectivity .. ok
  regress_lrs .. ok
  regress_ogc .. failed (diff expected obtained:
 /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_77_diff)
 -----------------------------------------------------------------------------
 --- regress_ogc_expected        2020-11-18 23:03:44.061099200 -0500
 +++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_77_out
 2020-11-18 23:32:53.029233400 -0500
 @@ -89,9 +89,9 @@
  isvalid|f
  isvalid|t
  intersection|POINT(0 0)
 -difference|MULTILINESTRING((0 10,0 2),(0 -2,0 -10))
 +difference|MULTILINESTRING((0 -2,0 -10),(0 10,0 2))
  boundary|MULTILINESTRING((0 0,0 10,10 10,10 0,0 0),(2 2,2 4,4 4,4 2,2 2))
 -symdifference|GEOMETRYCOLLECTION(LINESTRING(2 2,4 4),LINESTRING(10 10,20
 20),POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,2 4,2 2,4 2,4 4)))
 +symdifference|GEOMETRYCOLLECTION(POLYGON((0 10,10 10,10 0,0 0,0 10),(2
 4,2 2,4 2,4 4,2 4)),LINESTRING(2 2,4 4),LINESTRING(10 10,20 20))
  issimple|t
  equals|t
  pointonsurface|t
 @@ -107,7 +107,7 @@
  intersects|f
  ST_GeometryN|LINESTRING(0 0,1 1)
  ST_NumGeometries|1
 -ST_Union1|POLYGON((0 0,0 1,0.5 1,0.5 1.5,1.5 1.5,1.5 0.5,1 0.5,1 0,0 0))
 +ST_Union1|POLYGON((0 1,0.5 1,0.5 1.5,1.5 1.5,1.5 0.5,1 0.5,1 0,0 0,0 1))
  ST_EndPoint1|POINT(2 2)
  ST_PointN1|POINT(1 1)
  ST_PointN2|POINT(2 2)
 -----------------------------------------------------------------------------
  regress_ogc_cover .. ok
  regress_ogc_prep .. ok
  regress_proj .. ok
  relate .. ok
  remove_repeated_points .. ok
  removepoint .. ok
  reverse .. ok
  setpoint .. ok
  simplify .. ok
  simplifyvw .. ok
  size .. ok
  snaptogrid .. ok
  split .. failed (diff expected obtained:
 /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_90_diff)
 -----------------------------------------------------------------------------
 --- split_expected      2020-11-18 23:03:44.064098300 -0500
 +++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_90_out
 2020-11-18 23:32:58.279234200 -0500
 @@ -10,17 +10,17 @@
  7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0,10
 10,5 10),LINESTRING(5 10,0 10,0 20,5 20),LINESTRING(5 20,10 20))
  ERROR:  Splitter line has linear intersection with input
  ERROR:  Splitter line has linear intersection with input
 -20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 0)),POLYGON((5
 10,10 10,10 0,5 0,5 10)))
 -21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 2,5
 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 8,5 8,5 10)))
 -22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,0 0,0 10,2 10,2 0)),POLYGON((2
 10,10 10,10 0,2 0,2 10),(5 2,8 2,8 8,5 8,5 2)))
 -23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5
 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8
 6,8 8,5 8,5 10)))
 +20|SRID=12;GEOMETRYCOLLECTION(POLYGON((0 0,0 10,5 10,5 0,0 0)),POLYGON((5
 0,5 10,10 10,10 0,5 0)))
 +21|SRID=12;GEOMETRYCOLLECTION(POLYGON((0 0,0 10,5 10,5 8,2 8,2 2,5 2,5
 0,0 0)),POLYGON((5 0,5 2,8 2,8 8,5 8,5 10,10 10,10 0,5 0)))
 +22|SRID=12;GEOMETRYCOLLECTION(POLYGON((0 0,0 10,2 10,2 0,0 0)),POLYGON((2
 0,2 10,10 10,10 0,2 0),(5 2,8 2,8 8,5 8,5 2)))
 +23|SRID=12;GEOMETRYCOLLECTION(POLYGON((0 0,0 10,5 10,5 8,2 8,2 6,5 6,5
 4,2 4,2 2,5 2,5 0,0 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5
 10,10 10,10 0,5 0)))
  30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10
 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
  31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10
 0),LINESTRING(0 5,10 5))
  32|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(0 5,10 5))
  40|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10
 0),LINESTRING(0 5,10 5))
 -50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5
 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8
 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25
 5)))
 -60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5
 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8
 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25
 5)),LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5
 5),LINESTRING(5 5,10 5))
 -70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691983.26 4874594.81
 312.24,1691984.86 4874593.69 312.24,1691982 4874589.60428571
 312.24),LINESTRING(1691982 4874589.60428571 312.24,1691981.30515131
 4874588.61164472 312.24),LINESTRING(1691981.30515131 4874588.61164472
 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16 298.36))
 +50|SRID=12;GEOMETRYCOLLECTION(POLYGON((0 0,0 10,5 10,5 8,2 8,2 6,5 6,5
 4,2 4,2 2,5 2,5 0,0 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5
 10,10 10,10 0,5 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25
 8,25 5)))
 +60|SRID=12;GEOMETRYCOLLECTION(POLYGON((0 0,0 10,5 10,5 8,2 8,2 6,5 6,5
 4,2 4,2 2,5 2,5 0,0 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5
 10,10 10,10 0,5 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25
 8,25 5)),LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5
 5),LINESTRING(5 5,10 5))
 +70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691981.30515131
 4874588.61164472 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16
 298.36),LINESTRING(1691982 4874589.60428571 312.24,1691981.30515131
 4874588.61164472 312.24),LINESTRING(1691983.26 4874594.81
 312.24,1691984.86 4874593.69 312.24,1691982 4874589.60428571 312.24))
  80|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1,0 1))
  81|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1))
  82|t
 -----------------------------------------------------------------------------
  sql-mm-serialize .. ok
  sql-mm-circularstring .. ok
  sql-mm-compoundcurve .. ok
  sql-mm-curvepoly .. ok
  sql-mm-general .. ok
  sql-mm-multicurve .. ok
  sql-mm-multisurface .. ok
  swapordinates .. ok
  summary .. ok
  temporal .. ok
  temporal_knn .. ok
  tickets .. failed (diff expected obtained:
 /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_102_diff)
 -----------------------------------------------------------------------------
 --- tickets_expected    2020-11-18 23:03:44.070099600 -0500
 +++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_102_out
 2020-11-18 23:33:07.977233700 -0500
 @@ -1,4 +1,4 @@
 -#2|POLYGON((1 1,1 2,2 2,3 2,3 1,2 1,1 1))
 +#2|POLYGON((1 2,2 2,3 2,3 1,2 1,1 1,1 2))
  #11|0
  #21|SRID=31293;MULTIPOINTM(6220.13 5337367.145 4566)
  t
 @@ -128,7 +128,7 @@
  #723|f
  #804|<gml:Point srsName="urn:ogc:def:crs:EPSG::4326"><gml:pos
 srsDimension="2">0 0</gml:pos></gml:Point>
  #845|t
 -#834|GEOMETRYCOLLECTION(POINT(0 0 5),LINESTRING(10 10 5,10 0 5))
 +#834|GEOMETRYCOLLECTION(LINESTRING(10 10,10 0),POINT(0 0))
  #884|1|f
  #884|2|t
  #938|
 @@ -236,7 +236,7 @@
  #2110.3|t
  #2145|6792004
  #2232|M 0 0 l 0 0 1 0 0 0 1 0 0 0
 -#2307|MULTIPOLYGON(((-41.1932 -7.3257,-41.1616 -7.3257,-41.1569
 -7.3257,-41.1569 -7.3483,-41.1932 -7.3483,-41.1932 -7.3257),(-41.1616
 -7.3257,-41.1879 -7.3257,-41.1879 -7.3425,-41.1616 -7.3425,-41.1616
 -7.3257)))
 +#2307|MULTIPOLYGON(((-41.1569 -7.3257,-41.1569 -7.3483,-41.1932
 -7.3483,-41.1932 -7.3257,-41.1616 -7.3257,-41.1569 -7.3257),(-41.1879
 -7.3257,-41.1879 -7.3425,-41.1616 -7.3425,-41.1616 -7.3257,-41.1879
 -7.3257)))
  #2409|GeometryCollection[B] with 2 elements:
    MultiSurface[] with 2 elements:
      Polygon[] with 1 ring:
 @@ -252,7 +252,7 @@
  #2412|LINESTRING(0 0,10 0,20 0)
  #2420.1|LINESTRING(0 0,10 0,10 10,0 10,0 0)
  #2420.2|LINESTRING(0 0,10 0,10 10,0 10)
 -#2423|POLYGON((-10 0,-9.2388 3.82683,-7.07107 7.07107,-3.82683 9.2388,0
 10,3.82683 9.2388,7.07107 7.07107,9.2388 3.82683,10 0,-10 0))
 +#2423|POLYGON((-9.80785 1.9509,-8.3147 5.5557,-5.5557 8.3147,-1.9509
 9.80785,1.9509 9.80785,5.5557 8.3147,8.3147 5.5557,9.80785 1.9509,10 0,-10
 0,-9.80785 1.9509))
  #2424|MULTILINESTRING((0 0,10 0,24 3,30 10))
  #2427|POINT(-1 0)
  #2168|5340.76237395|5340.76237395|0
 -----------------------------------------------------------------------------
  twkb .. ok
  typmod .. ok
  wkb .. ok
  wkt .. ok
  wmsservers .. ok
  offsetcurve .. ok
  relatematch .. ok
  isvaliddetail .. ok
  sharedpaths .. ok
  snap .. ok
  node .. ok
  unaryunion .. failed (diff expected obtained:
 /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_114_diff)
 -----------------------------------------------------------------------------
 --- unaryunion_expected 2020-11-18 23:03:44.074099100 -0500
 +++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_114_out
 2020-11-18 23:33:28.892950700 -0500
 @@ -1,3 +1,3 @@
 -1|MULTILINESTRING((0 0,5 0),(5 0,10 0),(5 -5,5 0),(5 0,5 5))
 -2|POLYGON((10 5,10 0,0 0,0 10,5 10,5 15,15 15,15 5,10 5))
 -3|GEOMETRYCOLLECTION(POINT(-5 4),LINESTRING(2 -10,2 0),LINESTRING(2 10,2
 20),POLYGON((10 5,10 0,2 0,0 0,0 10,2 10,5 10,5 15,15 15,15 5,10 5)))
 +1|MULTILINESTRING((0 0,5 0),(5 -5,5 0),(5 0,5 5),(5 0,10 0))
 +2|POLYGON((0 10,5 10,5 15,15 15,15 5,10 5,10 0,0 0,0 10))
 +3|GEOMETRYCOLLECTION(POINT(-5 4),POLYGON((0 0,0 10,2 10,5 10,5 15,15
 15,15 5,10 5,10 0,2 0,0 0)),LINESTRING(2 -10,2 0),LINESTRING(2 10,2 20))
 -----------------------------------------------------------------------------
  clean .. failed (diff expected obtained:
 /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_115_diff)
 -----------------------------------------------------------------------------
 --- clean_expected      2020-11-18 23:03:44.048101400 -0500
 +++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_115_out
 2020-11-18 23:33:29.216949900 -0500
 @@ -27,5 +27,5 @@
  RT|16.4|t|t|f
  RT|17.1|t|t|f
  #1719.1|POINT(0 0)
 -#1719.2|GEOMETRYCOLLECTION(POINT(0 0),MULTIPOINT(3 4,5 2),POINT(4
 4),MULTIPOLYGON(((0 0,5 5,10 0,0 0)),((5 5,0 10,10 10,5 5))))
 +#1719.2|GEOMETRYCOLLECTION(POINT(0 0),MULTIPOINT(3 4,5 2),POINT(4
 4),MULTIPOLYGON(((0 10,10 10,5 5,0 10)),((10 0,0 0,5 5,10 0))))
  #1719.3|MULTIPOINT(3 4,5 2)
 -----------------------------------------------------------------------------
  relate_bnr .. ok
  delaunaytriangles .. ok
  clipbybox2d .. ok
  subdivide .. failed (diff expected obtained:
 /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_119_diff)
 -----------------------------------------------------------------------------
 --- subdivide_expected  2020-11-18 23:03:44.068098300 -0500
 +++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.2.0w64/test_119_out
 2020-11-18 23:33:34.422955600 -0500
 @@ -4,7 +4,7 @@
  ERROR:  lwgeom_subdivide: cannot subdivide to fewer than 5 vertices per
 output
  #3522|POINT(1 1)
  #3744|1600000000000000
 -4|29321996468.6|29321996468.6|1857|256
 +4|29321996468.6|29321996468.6|1856|256
  #4211|0.00008316000
  #4217|0.00002463668
  #4301|0.00213614552
 -----------------------------------------------------------------------------
  voronoi .. ok
  regress_brin_index .. ok
  regress_brin_index_3d .. ok
  regress_brin_index_geography .. ok
  minimum_clearance .. ok
  oriented_envelope .. ok
  point_coordinates .. ok
  out_geojson .. ok
  frechet .. ok
  geos38 .. ok
  in_geojson .. ok
  regress_spgist_index_2d .. ok
  regress_spgist_index_3d .. ok
  regress_spgist_index_nd .. ok
  mvt .. ok
  mvt_jsonb .. ok
  geobuf .. ok
  uninstall .  /projects/postgis/postgis-git/regress/00-regress-
 install/share/contrib/postgis/uninstall_postgis.sql
 . ok (4832)

 Run tests: 137
 Failed: 6
 make[2]: *** [Makefile:231: check] Error 6
 make[2]: Leaving directory '/projects/postgis/postgis-git/regress/core'
 make[1]: *** [Makefile:47: check-regress] Error 2
 make[1]: Leaving directory '/projects/postgis/postgis-git/regress'
 make: *** [GNUmakefile:20: check-regress] Error 1

 }}}

 I've fixed the cu_geos one already but I guess the rounding logic in 3.1
 changed so I couldn't do a direct copy. will commit soon

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4795>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list