diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/tempfile.py | 2 | ||||
-rw-r--r-- | Lib/test/test_tempfile.py | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/Lib/tempfile.py b/Lib/tempfile.py index 756d8c8727..472fd83155 100644 --- a/Lib/tempfile.py +++ b/Lib/tempfile.py @@ -214,7 +214,7 @@ def _mkstemp_inner(dir, pre, suf, flags): try: fd = _os.open(file, flags, 0600) _set_cloexec(fd) - return (fd, file) + return (fd, _os.path.abspath(file)) except OSError, e: if e.errno == _errno.EEXIST: continue # try again diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py index 8df3856039..d88d50f617 100644 --- a/Lib/test/test_tempfile.py +++ b/Lib/test/test_tempfile.py @@ -49,7 +49,8 @@ class TC(unittest.TestCase): npre = nbase[:len(pre)] nsuf = nbase[len(nbase)-len(suf):] - self.assertEqual(ndir, dir, + # check for equality of the absolute paths! + self.assertEqual(os.path.abspath(ndir), os.path.abspath(dir), "file '%s' not in directory '%s'" % (name, dir)) self.assertEqual(npre, pre, "file '%s' does not begin with '%s'" % (nbase, pre)) @@ -384,6 +385,10 @@ class test_mkstemp(TC): dir = tempfile.gettempdir() try: (fd, name) = tempfile.mkstemp(dir=dir, prefix=pre, suffix=suf) + (ndir, nbase) = os.path.split(name) + adir = os.path.abspath(dir) + self.assertEqual(adir, ndir, + "Directory '%s' incorrectly returned as '%s'" % (adir, ndir)) except: self.failOnException("mkstemp") @@ -400,6 +405,7 @@ class test_mkstemp(TC): self.do_create(suf="b") self.do_create(pre="a", suf="b") self.do_create(pre="aa", suf=".txt") + self.do_create(dir=".") def test_choose_directory(self): # mkstemp can create directories in a user-selected directory |