Commit 22b9b379 authored by Meador Inge's avatar Meador Inge

Issue #12618: py_compile cannot create files in current directory

Initial patch by Sjoerd de Vries.
parent 7be8f68d
......@@ -130,7 +130,9 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1):
else:
cfile = imp.cache_from_source(file)
try:
os.makedirs(os.path.dirname(cfile))
dirname = os.path.dirname(cfile)
if dirname:
os.makedirs(dirname)
except OSError as error:
if error.errno != errno.EEXIST:
raise
......
......@@ -39,6 +39,15 @@ class PyCompileTests(unittest.TestCase):
py_compile.compile(self.source_path)
self.assertTrue(os.path.exists(self.cache_path))
def test_cwd(self):
cwd = os.getcwd()
os.chdir(self.directory)
py_compile.compile(os.path.basename(self.source_path),
os.path.basename(self.pyc_path))
os.chdir(cwd)
self.assertTrue(os.path.exists(self.pyc_path))
self.assertFalse(os.path.exists(self.cache_path))
def test_relative_path(self):
py_compile.compile(os.path.relpath(self.source_path),
os.path.relpath(self.pyc_path))
......
......@@ -941,6 +941,7 @@ Kannan Vijayan
Kurt Vile
Norman Vine
Frank Visser
Sjoerd de Vries
Niki W. Waibel
Wojtek Walczak
Charles Waldman
......
......@@ -83,6 +83,9 @@ Core and Builtins
Library
-------
- Issue #12618: Fix a bug that prevented py_compile from creating byte
compiled files in the current directory. Initial patch by Sjoerd de Vries.
- Issue #13444: When stdout has been closed explicitly, we should not attempt
to flush it at shutdown and print an error.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment