浏览代码

tests/build_samples: Use temporary directories to avoid in-source builds

Mitchell Stokes 7 年之前
父节点
当前提交
8f4d66db04
共有 1 个文件被更改,包括 13 次插入1 次删除
  1. 13 1
      tests/build_samples.py

+ 13 - 1
tests/build_samples.py

@@ -1,6 +1,7 @@
 import os
 import subprocess
 import sys
+import tempfile
 
 SAMPLES_TO_BUILD = [
     'asteroids',
@@ -8,13 +9,24 @@ SAMPLES_TO_BUILD = [
 SAMPLES_DIR = os.path.join(os.path.dirname(__file__), '..', 'samples')
 
 def main():
+    build_base = tempfile.TemporaryDirectory()
+    dist_dir = tempfile.TemporaryDirectory()
+
     for sample in SAMPLES_TO_BUILD:
         sampledir = os.path.join(SAMPLES_DIR, sample)
         os.chdir(sampledir)
 
+        args = [
+            sys.executable,
+            'setup.py',
+            'bdist_apps',
+            '--build-base', build_base.name,
+            '--dist-dir', dist_dir.name,
+        ]
+
         # This will raise a CalledProcessError if the build fails, which will cause
         # this script to fail
-        subprocess.check_call([sys.executable, 'setup.py', 'bdist_apps'])
+        subprocess.check_call(args)
 
 if __name__ == '__main__':
     main()