Used temporary directory in RestartWithReloaderTests.test_manage_py().

Using the current directory can cause a PermissionError.
This commit is contained in:
Tom Forbes 2020-07-18 19:42:35 +01:00 committed by Mariusz Felisiak
parent 96a3ea39ef
commit 730711e828
1 changed files with 11 additions and 8 deletions

View File

@ -410,14 +410,17 @@ class RestartWithReloaderTests(SimpleTestCase):
return mock_call
def test_manage_py(self):
script = Path('manage.py')
script.touch()
self.addCleanup(script.unlink)
argv = ['./manage.py', 'runserver']
mock_call = self.patch_autoreload(argv)
autoreload.restart_with_reloader()
self.assertEqual(mock_call.call_count, 1)
self.assertEqual(mock_call.call_args[0][0], [self.executable, '-Wall'] + argv)
with tempfile.TemporaryDirectory() as temp_dir:
script = Path(temp_dir) / 'manage.py'
script.touch()
argv = [script, 'runserver']
mock_call = self.patch_autoreload(argv)
autoreload.restart_with_reloader()
self.assertEqual(mock_call.call_count, 1)
self.assertEqual(
mock_call.call_args[0][0],
[self.executable, '-Wall'] + argv,
)
def test_python_m_django(self):
main = '/usr/lib/pythonX.Y/site-packages/django/__main__.py'