[1.6.x] Skipped some broken tests on Oracle GIS; refs #23504.

Backport of 7fce7f51ef from master
This commit is contained in:
Tim Graham 2014-09-17 15:33:50 -04:00
parent a6c294a5a2
commit 59d369db78
2 changed files with 9 additions and 1 deletions

View File

@ -6,7 +6,7 @@ from datetime import datetime
from django.contrib.gis.geos import HAS_GEOS
from django.contrib.gis.tests.utils import no_mysql, no_spatialite
from django.contrib.gis.shortcuts import render_to_kmz
from django.contrib.gis.tests.utils import HAS_SPATIAL_DB
from django.contrib.gis.tests.utils import HAS_SPATIAL_DB, no_oracle
from django.db.models import Count, Min
from django.test import TestCase
from django.utils.unittest import skipUnless
@ -67,6 +67,10 @@ class GeoRegressionTests(TestCase):
# .count() should not throw TypeError in __eq__
self.assertEqual(cities_within_state.count(), 1)
# TODO: fix on Oracle -- get the following error because the SQL is ordered
# by a geometry object, which Oracle apparently doesn't like:
# ORA-22901: cannot compare nested table or VARRAY or LOB attributes of an object type
@no_oracle
def test_defer_or_only_with_annotate(self):
"Regression for #16409. Make sure defer() and only() work with annotate()"
self.assertIsInstance(list(City.objects.annotate(Count('point')).defer('name')), list)

View File

@ -251,6 +251,10 @@ class RelatedGeoModelTest(TestCase):
self.assertEqual(1, len(vqs))
self.assertEqual(3, vqs[0]['num_books'])
# TODO: fix on Oracle -- get the following error because the SQL is ordered
# by a geometry object, which Oracle apparently doesn't like:
# ORA-22901: cannot compare nested table or VARRAY or LOB attributes of an object type
@no_oracle
def test13c_count(self):
"Testing `Count` aggregate with `.values()`. See #15305."
qs = Location.objects.filter(id=5).annotate(num_cities=Count('city')).values('id', 'point', 'num_cities')