Opened 2 years ago

Closed 2 years ago

#5038 closed defect (invalid)

test_spheroid_distance in 3.2.0 fails on OpenBSD

Reported by: landry Owned by: pramsey
Priority: medium Milestone: PostGIS 3.2.1
Component: postgis Version: master
Keywords: Cc:

Description

running the testsuite when updating postgis to 3.2.0 on OpenBSD, a test newly fails (all tests were passing in 3.1.4)

Test: test_spheroid_distance …FAILED

  1. cu_geodetic.c:1346 - CU_ASSERT_DOUBLE_EQUAL(d,10001965.7293127228117396,epsilon)

Change History (7)

comment:1 by pramsey, 2 years ago

Assuming non-ancient proj, this test is using the proj geodetic code, which is using a 10 nanometer tolerance, which is probably really super dumb. Like, a micrometer tolerance is just fine…?

If you edit the test to change the epsilon at the top, can you make it pass?

const double epsilon = 1e-6;

comment:2 by landry, 2 years ago

that's with proj 8.2.1, but patching liblwgeom/cunit/cu_geodetic.c to use 1e-6 doesnt 'fix' the test which fails with the same error message.

comment:3 by landry, 2 years ago

rereading the test code, that's the last ASSERT that fails and it already uses an epsilon of 1e-6: https://github.com/postgis/postgis/blob/master/liblwgeom/cunit/cu_geodetic.c#L1343

comment:4 by pramsey, 2 years ago

I guess what I'm saying is: probably you updated your underlying proj? I didn't change postgis geodetic in this release cycle, so the churn is coming from proj. I can bump the epsilon up even higher, or maybe strip the tests out entirely, as testing upstream projects doesn't have a lot of value, unless testing for gross failures. (When the tests were written all the geodetic primitives were from postgis directly)

Last edited 2 years ago by pramsey (previous) (diff)

comment:5 by pramsey, 2 years ago

Milestone: PostGIS 3.2.0PostGIS 3.2.1

in reply to:  4 comment:6 by landry, 2 years ago

Replying to pramsey:

I guess what I'm saying is: probably you updated your underlying proj? I didn't change postgis geodetic in this release cycle, so the churn is coming from proj.

Oh.. well if i updated proj in the meantime (eg since the last time i ran all tests) it was just minor updates eg 8.2.0 → 8.2.1, cf https://github.com/openbsd/ports/commits/master/devel/proj/distinfo.

But you're probably right, i've rolled back postgis to 3.1.4 locally (still with proj 8.2.1) and the test_spheroid_distance test still fails, so that might be fallout of some proj update.

comment:7 by robe, 2 years ago

Resolution: invalid
Status: newclosed

This sounds like a proj bug so closing out and marking as invalid

Note: See TracTickets for help on using tickets.