summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-07-15 10:19:38 -0400
committerTim Graham <timograham@gmail.com>2015-07-15 10:51:26 -0400
commitbbbb7ce115ac619255100cee6dccd32ed4346d98 (patch)
tree77a1400839b5a02339d393bd67cb4f34f942466b
parent48af591b2dd1f4c6b87558698f311dd7fe6dbbc0 (diff)
Filtered out 'base' from database backend choices error message.
-rw-r--r--django/db/utils.py2
-rw-r--r--tests/backends/test_utils.py17
2 files changed, 18 insertions, 1 deletions
diff --git a/django/db/utils.py b/django/db/utils.py
index e5c4b8371b..20314495e4 100644
--- a/django/db/utils.py
+++ b/django/db/utils.py
@@ -114,7 +114,7 @@ def load_backend(backend_name):
try:
builtin_backends = [
name for _, name, ispkg in pkgutil.iter_modules([backend_dir])
- if ispkg and name != 'dummy']
+ if ispkg and name not in {'base', 'dummy'}]
except EnvironmentError:
builtin_backends = []
if backend_name not in ['django.db.backends.%s' % b for b in
diff --git a/tests/backends/test_utils.py b/tests/backends/test_utils.py
new file mode 100644
index 0000000000..40a9c7b59c
--- /dev/null
+++ b/tests/backends/test_utils.py
@@ -0,0 +1,17 @@
+from django.core.exceptions import ImproperlyConfigured
+from django.db.utils import load_backend
+from django.test import SimpleTestCase
+from django.test.utils import str_prefix
+from django.utils import six
+
+
+class TestLoadBackend(SimpleTestCase):
+ def test_load_backend_invalid_name(self):
+ msg = str_prefix(
+ "'foo' isn't an available database backend.\n"
+ "Try using 'django.db.backends.XXX', where XXX is one of:\n"
+ " %(_)s'mysql', %(_)s'oracle', %(_)s'postgresql_psycopg2', %(_)s'sqlite3'\n"
+ "Error was: No module named %%s"
+ ) % "foo.base" if six.PY2 else "'foo'"
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
+ load_backend('foo')