summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/subdirectory
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/subdirectory')
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-SYMROOT-all.py36
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-SYMROOT-default.py37
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-subdir-all.py34
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-subdir-default.py34
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-subdir2-deep.py25
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-top-all.py43
-rwxr-xr-xthird_party/python/gyp/test/subdirectory/gyptest-top-default.py43
-rw-r--r--third_party/python/gyp/test/subdirectory/src/prog1.c7
-rw-r--r--third_party/python/gyp/test/subdirectory/src/prog1.gyp21
-rw-r--r--third_party/python/gyp/test/subdirectory/src/subdir/prog2.c7
-rw-r--r--third_party/python/gyp/test/subdirectory/src/subdir/prog2.gyp18
-rw-r--r--third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.c7
-rw-r--r--third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp18
-rw-r--r--third_party/python/gyp/test/subdirectory/src/symroot.gypi16
14 files changed, 346 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-SYMROOT-all.py b/third_party/python/gyp/test/subdirectory/gyptest-SYMROOT-all.py
new file mode 100755
index 0000000000..9dfb8b05d4
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-SYMROOT-all.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2009 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 and a subsidiary dependent target from a
+.gyp file in a subdirectory, without specifying an explicit output build
+directory, and using the generated solution or project file at the top
+of the tree as the entry point.
+
+The configuration sets the Xcode SYMROOT variable and uses --depth=
+to make Xcode behave like the other build tools--that is, put all
+built targets in a single output build directory at the top of the tree.
+"""
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+test.run_gyp('prog1.gyp', '-Dset_symroot=1', '--depth=.', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+# Suppress the test infrastructure's setting SYMROOT on the command line.
+test.build('prog1.gyp', test.ALL, SYMROOT=None, chdir='relocate/src')
+
+test.run_built_executable('prog1',
+ stdout="Hello from prog1.c\n",
+ chdir='relocate/src')
+test.run_built_executable('prog2',
+ stdout="Hello from prog2.c\n",
+ chdir='relocate/src')
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-SYMROOT-default.py b/third_party/python/gyp/test/subdirectory/gyptest-SYMROOT-default.py
new file mode 100755
index 0000000000..8796650905
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-SYMROOT-default.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2009 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 and a subsidiary dependent target from a
+.gyp file in a subdirectory, without specifying an explicit output build
+directory, and using the generated solution or project file at the top
+of the tree as the entry point.
+
+The configuration sets the Xcode SYMROOT variable and uses --depth=
+to make Xcode behave like the other build tools--that is, put all
+built targets in a single output build directory at the top of the tree.
+"""
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+test.run_gyp('prog1.gyp', '-Dset_symroot=1', '--depth=.', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+# Suppress the test infrastructure's setting SYMROOT on the command line.
+test.build('prog1.gyp', SYMROOT=None, chdir='relocate/src')
+
+test.run_built_executable('prog1',
+ stdout="Hello from prog1.c\n",
+ chdir='relocate/src')
+
+test.run_built_executable('prog2',
+ stdout="Hello from prog2.c\n",
+ chdir='relocate/src')
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-subdir-all.py b/third_party/python/gyp/test/subdirectory/gyptest-subdir-all.py
new file mode 100755
index 0000000000..d5c458454e
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-subdir-all.py
@@ -0,0 +1,34 @@
+#!/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 subsidiary dependent target from a .gyp file in a
+subdirectory, without specifying an explicit output build directory,
+and using the subdirectory's solution or project file as the entry point.
+"""
+
+import TestGyp
+
+# Ninja doesn't support relocation.
+# CMake produces a single CMakeLists.txt in the output directory.
+test = TestGyp.TestGyp(formats=['!ninja', '!cmake'])
+
+test.run_gyp('prog1.gyp', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+chdir = 'relocate/src/subdir'
+target = test.ALL
+
+test.build('prog2.gyp', target, chdir=chdir)
+
+test.built_file_must_not_exist('prog1', type=test.EXECUTABLE, chdir=chdir)
+
+test.run_built_executable('prog2',
+ chdir=chdir,
+ stdout="Hello from prog2.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-subdir-default.py b/third_party/python/gyp/test/subdirectory/gyptest-subdir-default.py
new file mode 100755
index 0000000000..2cb6659beb
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-subdir-default.py
@@ -0,0 +1,34 @@
+#!/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 subsidiary dependent target from a .gyp file in a
+subdirectory, without specifying an explicit output build directory,
+and using the subdirectory's solution or project file as the entry point.
+"""
+
+import TestGyp
+import errno
+
+# Ninja doesn't support relocation.
+# CMake produces a single CMakeLists.txt in the output directory.
+test = TestGyp.TestGyp(formats=['!ninja', '!cmake'])
+
+test.run_gyp('prog1.gyp', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+chdir = 'relocate/src/subdir'
+
+test.build('prog2.gyp', chdir=chdir)
+
+test.built_file_must_not_exist('prog1', type=test.EXECUTABLE, chdir=chdir)
+
+test.run_built_executable('prog2',
+ chdir=chdir,
+ stdout="Hello from prog2.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-subdir2-deep.py b/third_party/python/gyp/test/subdirectory/gyptest-subdir2-deep.py
new file mode 100755
index 0000000000..48548982f8
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-subdir2-deep.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2009 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 project rooted several layers under src_dir works.
+"""
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+test.run_gyp('prog3.gyp', chdir='src/subdir/subdir2')
+
+test.relocate('src', 'relocate/src')
+
+test.build('prog3.gyp', test.ALL, chdir='relocate/src/subdir/subdir2')
+
+test.run_built_executable('prog3',
+ chdir='relocate/src/subdir/subdir2',
+ stdout="Hello from prog3.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-top-all.py b/third_party/python/gyp/test/subdirectory/gyptest-top-all.py
new file mode 100755
index 0000000000..b3c25b1f8d
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-top-all.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2009 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 and a subsidiary dependent target from a
+.gyp file in a subdirectory, without specifying an explicit output build
+directory, and using the generated solution or project file at the top
+of the tree as the entry point.
+
+There is a difference here in the default behavior of the underlying
+build tools. Specifically, when building the entire "solution", Xcode
+puts the output of each project relative to the .xcodeproj directory,
+while Visual Studio (and our implementation of Make) put it
+in a build directory relative to the "solution"--that is, the entry-point
+from which you built the entire tree.
+"""
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+test.run_gyp('prog1.gyp', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+test.build('prog1.gyp', test.ALL, chdir='relocate/src')
+
+test.run_built_executable('prog1',
+ stdout="Hello from prog1.c\n",
+ chdir='relocate/src')
+
+if test.format == 'xcode':
+ chdir = 'relocate/src/subdir'
+else:
+ chdir = 'relocate/src'
+test.run_built_executable('prog2',
+ chdir=chdir,
+ stdout="Hello from prog2.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/gyptest-top-default.py b/third_party/python/gyp/test/subdirectory/gyptest-top-default.py
new file mode 100755
index 0000000000..2448dd98ea
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/gyptest-top-default.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2009 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 and a subsidiary dependent target from a
+.gyp file in a subdirectory, without specifying an explicit output build
+directory, and using the generated solution or project file at the top
+of the tree as the entry point.
+
+There is a difference here in the default behavior of the underlying
+build tools. Specifically, when building the entire "solution", Xcode
+puts the output of each project relative to the .xcodeproj directory,
+while Visual Studio (and our implementation of Make) put it
+in a build directory relative to the "solution"--that is, the entry-point
+from which you built the entire tree.
+"""
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+test.run_gyp('prog1.gyp', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+test.build('prog1.gyp', chdir='relocate/src')
+
+test.run_built_executable('prog1',
+ stdout="Hello from prog1.c\n",
+ chdir='relocate/src')
+
+if test.format == 'xcode':
+ chdir = 'relocate/src/subdir'
+else:
+ chdir = 'relocate/src'
+test.run_built_executable('prog2',
+ chdir=chdir,
+ stdout="Hello from prog2.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/subdirectory/src/prog1.c b/third_party/python/gyp/test/subdirectory/src/prog1.c
new file mode 100644
index 0000000000..218e99401c
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/prog1.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main(void)
+{
+ printf("Hello from prog1.c\n");
+ return 0;
+}
diff --git a/third_party/python/gyp/test/subdirectory/src/prog1.gyp b/third_party/python/gyp/test/subdirectory/src/prog1.gyp
new file mode 100644
index 0000000000..2aa66ce7d7
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/prog1.gyp
@@ -0,0 +1,21 @@
+# Copyright (c) 2009 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.
+
+{
+ 'includes': [
+ 'symroot.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'prog1',
+ 'type': 'executable',
+ 'dependencies': [
+ 'subdir/prog2.gyp:prog2',
+ ],
+ 'sources': [
+ 'prog1.c',
+ ],
+ },
+ ],
+}
diff --git a/third_party/python/gyp/test/subdirectory/src/subdir/prog2.c b/third_party/python/gyp/test/subdirectory/src/subdir/prog2.c
new file mode 100644
index 0000000000..12a31883b9
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/subdir/prog2.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main(void)
+{
+ printf("Hello from prog2.c\n");
+ return 0;
+}
diff --git a/third_party/python/gyp/test/subdirectory/src/subdir/prog2.gyp b/third_party/python/gyp/test/subdirectory/src/subdir/prog2.gyp
new file mode 100644
index 0000000000..c6cd35f7f8
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/subdir/prog2.gyp
@@ -0,0 +1,18 @@
+# Copyright (c) 2009 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.
+
+{
+ 'includes': [
+ '../symroot.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'prog2',
+ 'type': 'executable',
+ 'sources': [
+ 'prog2.c',
+ ],
+ },
+ ],
+}
diff --git a/third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.c b/third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.c
new file mode 100644
index 0000000000..a326dc61b6
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main(void)
+{
+ printf("Hello from prog3.c\n");
+ return 0;
+}
diff --git a/third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp b/third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp
new file mode 100644
index 0000000000..b49fb59113
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp
@@ -0,0 +1,18 @@
+# Copyright (c) 2009 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.
+
+{
+ 'includes': [
+ '../../symroot.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'prog3',
+ 'type': 'executable',
+ 'sources': [
+ 'prog3.c',
+ ],
+ },
+ ],
+}
diff --git a/third_party/python/gyp/test/subdirectory/src/symroot.gypi b/third_party/python/gyp/test/subdirectory/src/symroot.gypi
new file mode 100644
index 0000000000..519916427c
--- /dev/null
+++ b/third_party/python/gyp/test/subdirectory/src/symroot.gypi
@@ -0,0 +1,16 @@
+# Copyright (c) 2009 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.
+
+{
+ 'variables': {
+ 'set_symroot%': 0,
+ },
+ 'conditions': [
+ ['set_symroot == 1', {
+ 'xcode_settings': {
+ 'SYMROOT': '<(DEPTH)/build',
+ },
+ }],
+ ],
+}