summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2017-05-15 09:26:38 -0400
committerGitHub <noreply@github.com>2017-05-15 09:26:38 -0400
commit650bf6714d5648811a8bc08ce53b7fa86cc38d40 (patch)
treee65828cfbf44b4e813e089bd2590981a4080c809
parentf0d47ab3b6aef90480460fc3c96453d1bb47532a (diff)
Refs #27996 -- Skipped RandomUUID test on PostgreSQL 9.3.
-rw-r--r--docs/ref/contrib/postgres/functions.txt2
-rw-r--r--tests/postgres_tests/__init__.py10
-rw-r--r--tests/postgres_tests/test_functions.py3
3 files changed, 14 insertions, 1 deletions
diff --git a/docs/ref/contrib/postgres/functions.txt b/docs/ref/contrib/postgres/functions.txt
index 8d3df51864..171272c518 100644
--- a/docs/ref/contrib/postgres/functions.txt
+++ b/docs/ref/contrib/postgres/functions.txt
@@ -16,6 +16,8 @@ All of these functions are available from the
Returns a version 4 UUID.
+Requires PostgreSQL 9.4 or greater.
+
The `pgcrypto extension`_ must be installed. You can use the
:class:`~django.contrib.postgres.operations.CryptoExtension` migration
operation to install it.
diff --git a/tests/postgres_tests/__init__.py b/tests/postgres_tests/__init__.py
index 24d78c9bfe..ea6b96aff9 100644
--- a/tests/postgres_tests/__init__.py
+++ b/tests/postgres_tests/__init__.py
@@ -7,6 +7,16 @@ from django.db.backends.signals import connection_created
from django.test import TestCase, modify_settings
+def skipUnlessPG94(test):
+ try:
+ PG_VERSION = connection.pg_version
+ except AttributeError:
+ PG_VERSION = 0
+ if PG_VERSION < 90400:
+ return unittest.skip('PostgreSQL ≥ 9.4 required')(test)
+ return test
+
+
@unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific tests")
class PostgreSQLTestCase(TestCase):
@classmethod
diff --git a/tests/postgres_tests/test_functions.py b/tests/postgres_tests/test_functions.py
index 875a4b9520..de5cb4d767 100644
--- a/tests/postgres_tests/test_functions.py
+++ b/tests/postgres_tests/test_functions.py
@@ -4,7 +4,7 @@ from time import sleep
from django.contrib.postgres.functions import RandomUUID, TransactionNow
-from . import PostgreSQLTestCase
+from . import PostgreSQLTestCase, skipUnlessPG94
from .models import NowTestModel, UUIDTestModel
@@ -29,6 +29,7 @@ class TestTransactionNow(PostgreSQLTestCase):
self.assertEqual(m1.when, m2.when)
+@skipUnlessPG94
class TestRandomUUID(PostgreSQLTestCase):
def test_random_uuid(self):