diff options
| author | Claude Paroz <claude@2xlibre.net> | 2013-02-16 13:26:36 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-02-16 13:31:13 +0100 |
| commit | 632361611c6386696dc525ad3aecf065e6ed98ee (patch) | |
| tree | 50b990285aa14a1c17b845a7ee931b44b3f7b5c3 | |
| parent | e74e207cce54802f897adcb42149440ee154821e (diff) | |
| download | django-632361611c6386696dc525ad3aecf065e6ed98ee.tar.gz | |
Fixed #19833 -- Fixed import parameter encoding in get_runner
Thanks Danilo Bargen for the report.
| -rw-r--r-- | django/test/utils.py | 7 | ||||
| -rw-r--r-- | tests/regressiontests/test_runner/tests.py | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/django/test/utils.py b/django/test/utils.py index 9413ea8dc4..a8ed3d6317 100644 --- a/django/test/utils.py +++ b/django/test/utils.py @@ -4,12 +4,13 @@ from xml.dom.minidom import parseString, Node from django.conf import settings, UserSettingsHolder from django.core import mail -from django.test.signals import template_rendered, setting_changed from django.template import Template, loader, TemplateDoesNotExist from django.template.loaders import cached -from django.utils.translation import deactivate +from django.test.signals import template_rendered, setting_changed +from django.utils.encoding import force_str from django.utils.functional import wraps from django.utils import six +from django.utils.translation import deactivate __all__ = ( @@ -133,7 +134,7 @@ def get_runner(settings, test_runner_class=None): test_module_name = '.'.join(test_path[:-1]) else: test_module_name = '.' - test_module = __import__(test_module_name, {}, {}, test_path[-1]) + test_module = __import__(test_module_name, {}, {}, force_str(test_path[-1])) test_runner = getattr(test_module, test_path[-1]) return test_runner diff --git a/tests/regressiontests/test_runner/tests.py b/tests/regressiontests/test_runner/tests.py index 93eabf74e3..5df421c54b 100644 --- a/tests/regressiontests/test_runner/tests.py +++ b/tests/regressiontests/test_runner/tests.py @@ -1,7 +1,7 @@ """ Tests for django test runner """ -from __future__ import absolute_import +from __future__ import absolute_import, unicode_literals import sys from optparse import make_option @@ -150,6 +150,11 @@ class ManageCommandTests(unittest.TestCase): self.assertTrue(MockTestRunner.invoked, "The custom test runner has not been invoked") + def test_bad_test_runner(self): + with self.assertRaises(AttributeError): + call_command('test', 'sites', + testrunner='regressiontests.test_runner.NonExistentRunner') + class CustomOptionsTestRunner(simple.DjangoTestSuiteRunner): option_list = ( |
