Commit 63236161 authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #19833 -- Fixed import parameter encoding in get_runner

Thanks Danilo Bargen for the report.
parent e74e207c
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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

+6 −1
Original line number Diff line number Diff line
"""
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 = (