mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Fixed #34778 -- Avoided importing modules in startapp/startproject.
This commit is contained in:
parent
9a9620dda6
commit
bcd80de8b5
2 changed files with 25 additions and 7 deletions
|
@ -2447,6 +2447,28 @@ class StartProject(LiveServerTestCase, AdminScriptTestCase):
|
|||
)
|
||||
self.assertFalse(os.path.exists(testproject_dir))
|
||||
|
||||
def test_command_does_not_import(self):
|
||||
"""
|
||||
startproject doesn't import modules (and cannot be fooled by a module
|
||||
raising ImportError).
|
||||
"""
|
||||
bad_name = "raises_import_error"
|
||||
args = ["startproject", bad_name]
|
||||
testproject_dir = os.path.join(self.test_dir, bad_name)
|
||||
|
||||
with open(os.path.join(self.test_dir, "raises_import_error.py"), "w") as f:
|
||||
f.write("raise ImportError")
|
||||
|
||||
out, err = self.run_django_admin(args)
|
||||
self.assertOutput(
|
||||
err,
|
||||
"CommandError: 'raises_import_error' conflicts with the name of an "
|
||||
"existing Python module and cannot be used as a project name. Please try "
|
||||
"another name.",
|
||||
)
|
||||
self.assertNoOutput(out)
|
||||
self.assertFalse(os.path.exists(testproject_dir))
|
||||
|
||||
def test_simple_project_different_directory(self):
|
||||
"""
|
||||
The startproject management command creates a project in a specific
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue