On Sat, 28 Apr 2007 09:32:57 -0400, Raghuram Devarakonda <[EMAIL PROTECTED]> 
wrote:
>On 4/28/07, Calvin Spealman <[EMAIL PROTECTED]> wrote:
>> Index: test_os.py
>> ===================================================================
>> --- test_os.py  (revision 54982)
>> +++ test_os.py  (working copy)
>> @@ -6,6 +6,7 @@
>>  import unittest
>>  import warnings
>>  import sys
>> +import tempfile
>>  from test import test_support
>>
>>  warnings.filterwarnings("ignore", "tempnam", RuntimeWarning, __name__)
>> @@ -241,13 +242,18 @@
>>              self.assertEquals(os.stat(self.fname).st_mtime, t1)
>>
>>          def test_1686475(self):
>> +            fn = tempfile.mktemp()
>> +            openfile = open(fn, 'w')
>>              # Verify that an open file can be stat'ed
>>              try:
>> -                os.stat(r"c:\pagefile.sys")
>> +                os.stat(fn)
>>              except WindowsError, e:
>>                  if e == 2: # file does not exist; cannot run test
>>                      return
>>                  self.fail("Could not stat pagefile.sys")
>> +            finally:
>> +                openfile.close()
>> +                os.remove(fn)
>>
>>  from test import mapping_tests
>
>mktemp() is deprecated. You may want to use mkstemp(). There will be
>no need for explicit open as well as mkstemp() also returns open
>descriptor.

You still need fdopen() though, since os.stat() won't take a file
descriptor.

The patch is incomplete though, since it should remove the ENOENT
handling and the remaining reference to pagefile.sys.

As for mktemp() being deprecated - the docstring warns users away,
but actually calling it emits no warning.  Sure, using it can lead
to insecurities, but there's hardly any worry of that here.  If the
function were actually deprecated (that is, if calling it emitted a
DeprecationWarning), that would be a good reason to avoid calling it,
though.

Jean-Paul
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to