Skipped some broken tests on Oracle GIS; refs #23504.

This commit is contained in:
Tim Graham 2014-09-17 15:33:50 -04:00
parent fc2b8ddcc8
commit 7fce7f51ef
2 changed files with 9 additions and 0 deletions

View File

@ -5,6 +5,7 @@ from datetime import datetime
from django.contrib.gis.geos import HAS_GEOS from django.contrib.gis.geos import HAS_GEOS
from django.contrib.gis.shortcuts import render_to_kmz from django.contrib.gis.shortcuts import render_to_kmz
from django.contrib.gis.tests.utils import no_oracle
from django.db.models import Count, Min from django.db.models import Count, Min
from django.test import TestCase, skipUnlessDBFeature from django.test import TestCase, skipUnlessDBFeature
@ -65,6 +66,10 @@ class GeoRegressionTests(TestCase):
# .count() should not throw TypeError in __eq__ # .count() should not throw TypeError in __eq__
self.assertEqual(cities_within_state.count(), 1) 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): def test_defer_or_only_with_annotate(self):
"Regression for #16409. Make sure defer() and only() work with annotate()" "Regression for #16409. Make sure defer() and only() work with annotate()"
self.assertIsInstance(list(City.objects.annotate(Count('point')).defer('name')), list) self.assertIsInstance(list(City.objects.annotate(Count('point')).defer('name')), list)

View File

@ -263,6 +263,10 @@ class RelatedGeoModelTest(TestCase):
self.assertEqual(1, len(vqs)) self.assertEqual(1, len(vqs))
self.assertEqual(3, vqs[0]['num_books']) 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): def test13c_count(self):
"Testing `Count` aggregate with `.values()`. See #15305." "Testing `Count` aggregate with `.values()`. See #15305."
qs = Location.objects.filter(id=5).annotate(num_cities=Count('city')).values('id', 'point', 'num_cities') qs = Location.objects.filter(id=5).annotate(num_cities=Count('city')).values('id', 'point', 'num_cities')