Opened 14 years ago

Last modified 13 years ago

#15768 closed Cleanup/optimization

The setUp() method FileStorageTests in tests/regressiontests/file_storage/tests.py uses tempfile.mktemp() — at Initial Version

Reported by: d1b Owned by: nobody
Component: Testing framework Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

The tempfile.mktemp() function is deprecated and the documentation warns that the "Use of this function may introduce a security hole in your program" - see [0] for more information.
The setUp() method FileStorageTests in tests/regressiontests/file_storage/tests.py uses tempfile.mktemp() in creating a temporary directory. The temporary directory is then deleted during tearDown(). See [1] for a snippet of the code in question.

This seems like a mistake because other classes such as FileSaveRaceConditionTest use tempfile.mkdtemp(). tempfile.mkdtemp is a safer way of creating a temporary directory.

Something like the following (_NOTE_: I haven't tested this) could be a 'fix'.

  • self.temp_dir = tempfile.mktemp()
  • os.makedirs(self.temp_dir)

+ self.temp_dir = tempfile.mkdtemp()

[0] - http://docs.python.org/library/tempfile.html#tempfile.mktemp

[1]
class FileStorageTests(unittest.TestCase):

storage_class = FileSystemStorage

def setUp(self):

self.temp_dir = tempfile.mktemp()
os.makedirs(self.temp_dir)
self.storage = self.storage_class(location=self.temp_dir,

base_url='/test_media_url/')

def tearDown(self):

shutil.rmtree(self.temp_dir)

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top