summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/generator-output/gyptest-symlink.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/generator-output/gyptest-symlink.py')
-rwxr-xr-xthird_party/python/gyp/test/generator-output/gyptest-symlink.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/generator-output/gyptest-symlink.py b/third_party/python/gyp/test/generator-output/gyptest-symlink.py
new file mode 100755
index 0000000000..d7fe05830f
--- /dev/null
+++ b/third_party/python/gyp/test/generator-output/gyptest-symlink.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2012 Google Inc. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+Verifies building a target when the --generator-output= option is used to put
+the build configuration files in a separate directory tree referenced by a
+symlink.
+"""
+
+import TestGyp
+import os
+import sys
+
+test = TestGyp.TestGyp()
+if not hasattr(os, 'symlink') or sys.platform == 'win32':
+ # Python3 on windows has symlink but it doesn't work reliably.
+ test.skip_test('Missing or bad os.symlink -- skipping test.\n')
+
+test.writable(test.workpath('src'), False)
+
+test.writable(test.workpath('src/subdir2/deeper/build'), True)
+
+test.subdir(test.workpath('build'))
+test.subdir(test.workpath('build/deeper'))
+test.symlink('build/deeper', test.workpath('symlink'))
+
+test.writable(test.workpath('build/deeper'), True)
+test.run_gyp('deeper.gyp',
+ '-Dset_symroot=2',
+ '--generator-output=' + test.workpath('symlink'),
+ chdir='src/subdir2/deeper')
+
+chdir = 'symlink'
+test.build('deeper.gyp', test.ALL, chdir=chdir)
+
+if test.format == 'xcode':
+ chdir = 'src/subdir2/deeper'
+test.run_built_executable('deeper',
+ chdir=chdir,
+ stdout="Hello from deeper.c\n")
+test.pass_test()