Skip to content

Commit

Permalink
Merge pull request #65 from mkoeppe/ccompiler__has_function__output_dir
Browse files Browse the repository at this point in the history
CCompiler.has_function: Do not fail if self.outputdir is set
  • Loading branch information
jaraco authored Nov 9, 2021
2 parents 9e98a85 + e59011a commit f1b0a2b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion distutils/ccompiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -802,7 +802,7 @@ def has_function(self, funcname, includes=None, include_dirs=None,
except (LinkError, TypeError):
return False
else:
os.remove("a.out")
os.remove(os.path.join(self.output_dir or '', "a.out"))
finally:
for fn in objects:
os.remove(fn)
Expand Down
7 changes: 7 additions & 0 deletions distutils/tests/test_unixccompiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,13 @@ def gcvs(*args, _orig=sysconfig.get_config_vars):
sysconfig.customize_compiler(self.cc)
self.assertEqual(self.cc.linker_so[0], 'my_ld')

def test_has_function(self):
# Issue https://github.com/pypa/distutils/issues/64:
# ensure that setting output_dir does not raise
# FileNotFoundError: [Errno 2] No such file or directory: 'a.out'
self.cc.output_dir = 'scratch'
self.cc.has_function('abort', includes=['stdlib.h'])


def test_suite():
return unittest.makeSuite(UnixCCompilerTestCase)
Expand Down

0 comments on commit f1b0a2b

Please sign in to comment.