Opened 3 years ago
Closed 3 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
- cu_geodetic.c:1346 - CU_ASSERT_DOUBLE_EQUAL(d,10001965.7293127228117396,epsilon)
Change History (7)
comment:1 by , 3 years ago
comment:2 by , 3 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 , 3 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
follow-up: 6 comment:4 by , 3 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)
comment:5 by , 3 years ago
Milestone: | PostGIS 3.2.0 → PostGIS 3.2.1 |
---|
comment:6 by , 3 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 , 3 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
This sounds like a proj bug so closing out and marking as invalid
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?