]> granicus.if.org Git - python/commitdiff
bpo-30284: Fix regrtest for out of tree build (#1481)
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 14 Jun 2017 22:44:05 +0000 (00:44 +0200)
committerGitHub <noreply@github.com>
Wed, 14 Jun 2017 22:44:05 +0000 (00:44 +0200)
Use a build/ directory in the build directory, not in the source
directory, since the source directory may be read-only and must not
be modified.

Fallback on the source directory if the build directory is not
available (missing "abs_builddir" sysconfig variable).

Lib/test/libregrtest/main.py

index e068b925d57af004860ea6ed9c08a6a865032e60..7b11fe951b232564fd43c918caf2e9ccd3284daa 100644 (file)
@@ -28,7 +28,13 @@ except ImportError:
 # to keep the test files in a subfolder.  This eases the cleanup of leftover
 # files using the "make distclean" command.
 if sysconfig.is_python_build():
-    TEMPDIR = os.path.join(sysconfig.get_config_var('srcdir'), 'build')
+    TEMPDIR = sysconfig.get_config_var('abs_builddir')
+    if TEMPDIR is None:
+        # bpo-30284: On Windows, only srcdir is available. Using abs_builddir
+        # mostly matters on UNIX when building Python out of the source tree,
+        # especially when the source tree is read only.
+        TEMPDIR = sysconfig.get_config_var('srcdir')
+    TEMPDIR = os.path.join(TEMPDIR, 'build')
 else:
     TEMPDIR = tempfile.gettempdir()
 TEMPDIR = os.path.abspath(TEMPDIR)