Opened 9 years ago
Closed 9 years ago
#25438 closed Bug (fixed)
Oracle GIS test failures for Django 1.9
Reported by: | Tim Graham | Owned by: | nobody |
---|---|---|---|
Component: | GIS | Version: | dev |
Severity: | Normal | Keywords: | oracle 1.9 |
Cc: | Jani Tiainen, felisiak.mariusz@… | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
After the patch for #24688 to add support for new-style GIS functions, some test failures remain:
gis_tests.geoapp.test_functions.GISFunctionsTests.test_difference Traceback (most recent call last): File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/tests/gis_tests/geoapp/test_functions.py", line 180, in test_difference self.assertEqual(c.mpoly.difference(geom), c.diff) AssertionError: <MultiPolygon object at 0x7f768d20f450> != <MultiPolygon object at 0x7f768d1df2b8> gis_tests.geoapp.test_functions.GISFunctionsTests.test_intersection Traceback (most recent call last): File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/tests/gis_tests/geoapp/test_functions.py", line 234, in test_intersection self.assertEqual(c.inter, expected) AssertionError: '' != <GeometryCollection object at 0x7f768ea5a120> gis_tests.geoapp.test_functions.GISFunctionsTests.test_difference_mixed_srid Traceback (most recent call last): File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/tests/gis_tests/geoapp/test_functions.py", line 191, in test_difference_mixed_srid self.assertEqual(c.mpoly.difference(geom), c.difference) AssertionError: <MultiPolygon object at 0x7f3422ed02e0> != <MultiPolygon object at 0x7f3422ed0130> gis_tests.geogapp.tests.GeographyFunctionTests.test_distance_function Traceback (most recent call last): File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/tests/gis_tests/geogapp/tests.py", line 120, in test_distance_function self.assertAlmostEqual(z.distance.m, ref, 2) AssertionError: 4899.67677194225 != 4891.2 within 2 places
New since Jenkins was updated from Oracle 11 to Oracle 12.1.0.2.0:
gis_tests.geoapp.test_functions.GISFunctionsTests.test_sym_difference Items in the first set but not the second: u'POLYGON ((-103.0024339999999938 36.5003969999999995, -103.0419239999999945 36.5004390000000001, ............. gis_tests.geogapp.tests.GeographyFunctionTests.test_geography_area gis_tests.geogapp.tests.GeographyTest.test06_geography_area (same issue probably) Traceback (most recent call last): File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/tests/gis_tests/geogapp/tests.py", line 131, in test_geography_area self.assertAlmostEqual(z.area.sq_m, ref_area, tol) AssertionError: 5439100.13586914 != 5439100.95415646 within 5 places
Change History (14)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Cc: | added |
---|
comment:3 by , 9 years ago
Description: | modified (diff) |
---|
comment:4 by , 9 years ago
Replying to timgraham:
After the patch for #24688 to add support for new-style GIS functions, some test failures remain:
gis_tests.geoapp.test_functions.GISFunctionsTests.test_difference_mixed_srid Traceback (most recent call last): File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/django/db/utils.py", line 102, in inner return func(*args, **kwargs) File "/mnt/jenkinsdata/workspace/pull-requests-oracle/database/oragis11/python/python3.5/django/db/backends/oracle/base.py", line 516, in fetchmany return tuple(_rowfactory(r, self.cursor) for r in self.cursor.fetchmany(size)) cx_Oracle.DatabaseError: ORA-13199: SRID does not exist. ORA-06512: at "MDSYS.MD", line 1723 ORA-06512: at "MDSYS.MDERR", line 17 ORA-06512: at "MDSYS.SDO_CS", line 5264 ORA-06512: at "MDSYS.SDO_CS", line 3034
Which Oracle version has been used? In test_difference_mixed_srid
test we can find crucial line :
185: geom = Point(556597.4, 2632018.6, srid=3857) # Spherical mercator
as we can see srid=3857 is needed, but it appeared in 11.2.0.3.
http://docs.oracle.com/cd/E24693_01/appdev.11203/e11830/sdo_newfeat.htm
(section "Support for Google Maps with Spatial Applications")
In previous versions we will need to use srid=3785 instead.
comment:6 by , 9 years ago
Description: | modified (diff) |
---|
Jenkins is upgraded to Oracle 12.1.0.2.0. I updated the ticket description with the test failures.
comment:10 by , 9 years ago
Has patch: | unset |
---|---|
Resolution: | fixed |
Status: | closed → new |
test_difference
and test_difference_mixed_srid
still fail on the 1.9 branch.
====================================================================== FAIL [0.102s]: test_difference (gis_tests.geoapp.test_functions.GISFunctionsTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/tests/gis_tests/geoapp/test_functions.py", line 180, in test_difference self.assertEqual(c.mpoly.difference(geom), c.diff) AssertionError: <MultiPolygon object at 0x7f7c332b65b0> != <MultiPolygon object at 0x7f7c332b69a0> ====================================================================== FAIL [0.120s]: test_difference_mixed_srid (gis_tests.geoapp.test_functions.GISFunctionsTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/django/test/testcases.py", line 1093, in skip_wrapper return test_func(*args, **kwargs) File "/home/jenkins/workspace/django-oracle-1.9/database/oragis12/label/trusty/python/python2.7/tests/gis_tests/geoapp/test_functions.py", line 191, in test_difference_mixed_srid self.assertEqual(c.mpoly.difference(geom), c.difference) AssertionError: <MultiPolygon object at 0x7f7c33764130> != <MultiPolygon object at 0x7f7c337640a0>
comment:11 by , 9 years ago
It seems that it was fixed in master by this commit. It replaces
self.assertEqual(c.mpoly.difference(geom), c.difference)
with
self.assertTrue(c.mpoly.difference(geom).equals(c.diff))
comment:14 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Having error tracebacks would be nice, too.