﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
17054	Django test suite does not run if gettext not installed	Jim Dalton	nobody	"This commit:

https://github.com/django/django/commit/5cc3dad1181745dc46af7b3494c0db7f8800fbd4#diff-25

Converts the import of commands.tests in regression_tests/i18n from a * import to an explicit list.

The problem is that those tests are conditionally imported in commands.tests based on whether the user has certain commands installed on their command line (xgettext and msgfmt to be exact). If those commands are not installed, the tests aren't loaded and the import in the main i18n.tests file fails. The result is that it's not possible to run the test suite:

{{{
$ ./runtests.py --settings=test_sqlite i18n
Traceback (most recent call last):
  File ""./runtests.py"", line 286, in <module>
    failures = django_tests(int(options.verbosity), options.interactive, options.failfast, args)
  File ""./runtests.py"", line 153, in django_tests
    failures = test_runner.run_tests(test_labels, extra_tests=extra_tests)
  File ""/Users/jsdalton/webs/testproject/src/django/django/test/simple.py"", line 353, in run_tests
    suite = self.build_suite(test_labels, extra_tests)
  File ""/Users/jsdalton/webs/testproject/src/django/django/test/simple.py"", line 243, in build_suite
    suite.addTest(build_suite(app))
  File ""/Users/jsdalton/webs/testproject/src/django/django/test/simple.py"", line 72, in build_suite
    test_module = get_tests(app_module)
  File ""/Users/jsdalton/webs/testproject/src/django/django/test/simple.py"", line 33, in get_tests
    test_module = import_module('.'.join(prefix + [TEST_MODULE]))
  File ""/Users/jsdalton/webs/testproject/src/django/django/utils/importlib.py"", line 35, in import_module
    __import__(name)
  File ""/Users/jsdalton/webs/testproject/src/django/tests/regressiontests/i18n/tests.py"", line 25, in <module>
    from .commands.tests import NoWrapExtractorTests, IgnoredExtractorTests, MessageCompilationTests, PoFileTests, BasicExtractorTests, JavascriptExtractorTests, CopyPluralFormsExtractorTests, SymlinkExtractorTests, ExtractorTests
ImportError: cannot import name NoWrapExtractorTests
}}}

Easy fix is convert this line back to a * import. Better fix is....??? I'll think about it.
"	Bug	closed	Testing framework	dev	Release blocker	fixed			Accepted	1	0	0	0	0	0
