[1.8.x] Fixed #24290 -- Skipped postgres_tests if not running with PostgreSQL.

Backport of 8b39f33d78 from master
This commit is contained in:
Tim Graham 2015-02-16 18:10:35 -05:00
parent 730fb593ad
commit a00a0f8804
5 changed files with 6 additions and 16 deletions

View File

@ -18,7 +18,6 @@ from .models import (
)
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
class TestSaveLoad(TestCase):
def test_integer(self):
@ -94,7 +93,6 @@ class TestSaveLoad(TestCase):
self.assertEqual(instance.decimals, loaded.decimals)
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
class TestQuerying(TestCase):
def setUp(self):
@ -274,7 +272,6 @@ class TestMigrations(TransactionTestCase):
name, path, args, kwargs = field.deconstruct()
self.assertEqual(path, 'postgres_tests.models.ArrayFieldSubclass')
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
@override_settings(MIGRATION_MODULES={
"postgres_tests": "postgres_tests.array_default_migrations",
})
@ -291,7 +288,6 @@ class TestMigrations(TransactionTestCase):
self.assertNotIn(table_name, connection.introspection.table_names(cursor))
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
class TestSerialization(TestCase):
test_data = '[{"fields": {"field": "[\\"1\\", \\"2\\"]"}, "model": "postgres_tests.integerarraymodel", "pk": null}]'

View File

@ -1,17 +1,14 @@
import json
import unittest
from django.contrib.postgres import forms
from django.contrib.postgres.fields import HStoreField
from django.contrib.postgres.validators import KeysValidator
from django.core import exceptions, serializers
from django.db import connection
from django.test import TestCase
from .models import HStoreModel
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
class SimpleTests(TestCase):
apps = ['django.contrib.postgres']
@ -36,7 +33,6 @@ class SimpleTests(TestCase):
self.assertEqual(reloaded.field, value)
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
class TestQuerying(TestCase):
def setUp(self):
@ -115,7 +111,6 @@ class TestQuerying(TestCase):
)
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
class TestSerialization(TestCase):
test_data = '[{"fields": {"field": "{\\"a\\": \\"b\\"}"}, "model": "postgres_tests.hstoremodel", "pk": null}]'

View File

@ -18,8 +18,6 @@ from .models import RangesModel
def skipUnlessPG92(test):
if not connection.vendor == 'postgresql':
return unittest.skip('PostgreSQL required')(test)
PG_VERSION = connection.pg_version
if PG_VERSION < 90200:
return unittest.skip('PostgreSQL >= 9.2 required')(test)

View File

@ -1,15 +1,11 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import unittest
from django.db import connection
from django.test import TestCase, modify_settings
from .models import CharFieldModel, TextFieldModel
@unittest.skipUnless(connection.vendor == 'postgresql', 'PostgreSQL required')
@modify_settings(INSTALLED_APPS={'append': 'django.contrib.postgres'})
class UnaccentTest(TestCase):

View File

@ -85,7 +85,7 @@ def get_test_modules():
os.path.isfile(f) or
not os.path.exists(os.path.join(dirpath, f, '__init__.py'))):
continue
if not connection.vendor == 'postgresql' and f == 'postgres_tests' or f == 'postgres':
if connection.vendor != 'postgresql' and f == 'postgres_tests':
continue
modules.append((modpath, f))
return modules
@ -232,6 +232,11 @@ def django_tests(verbosity, interactive, failfast, keepdb, reverse, test_labels,
state = setup(verbosity, test_labels)
extra_tests = []
if test_labels and 'postgres_tests' in test_labels and connection.vendor != 'postgres':
if verbosity >= 2:
print("Removed postgres_tests from tests as we're not running with PostgreSQL.")
test_labels.remove('postgres_tests')
# Run the test suite, including the extra validation tests.
if not hasattr(settings, 'TEST_RUNNER'):
settings.TEST_RUNNER = 'django.test.runner.DiscoverRunner'