From 331f837b03f6fed73b5709e8246b3682863ca0de Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Mon, 28 Apr 2008 10:56:49 +0200 Subject: [PATCH] change working directory when running C compiler to make it work with relative path names --- runtests.py | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/runtests.py b/runtests.py index 85d9e997..e0d06278 100644 --- a/runtests.py +++ b/runtests.py @@ -121,21 +121,26 @@ class CythonCompileTestCase(unittest.TestCase): full_module_name=module) def run_distutils(self, module, workdir, incdir): - build_extension = build_ext(distutils_distro) - build_extension.include_dirs = INCLUDE_DIRS[:] - if incdir: - build_extension.include_dirs.append(incdir) - build_extension.finalize_options() - - extension = Extension( - module, - sources = [os.path.join(workdir, module + '.c')], - extra_compile_args = CFLAGS, - ) - build_extension.extensions = [extension] - build_extension.build_temp = workdir - build_extension.build_lib = workdir - build_extension.run() + cwd = os.getcwd() + os.chdir(workdir) + try: + build_extension = build_ext(distutils_distro) + build_extension.include_dirs = INCLUDE_DIRS[:] + if incdir: + build_extension.include_dirs.append(incdir) + build_extension.finalize_options() + + extension = Extension( + module, + sources = [module + '.c'], + extra_compile_args = CFLAGS, + ) + build_extension.extensions = [extension] + build_extension.build_temp = workdir + build_extension.build_lib = workdir + build_extension.run() + finally: + os.chdir(cwd) def compile(self, directory, module, workdir, incdir, expect_errors): expected_errors = errors = () @@ -165,9 +170,6 @@ class CythonCompileTestCase(unittest.TestCase): self.run_distutils(module, workdir, incdir) class CythonRunTestCase(CythonCompileTestCase): - def shortDescription(self): - return "compiling and running " + self.module - def runTest(self): self.run() -- 2.26.2