summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/sibling
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/sibling')
-rwxr-xr-xthird_party/python/gyp/test/sibling/gyptest-all.py42
-rwxr-xr-xthird_party/python/gyp/test/sibling/gyptest-relocate.py44
-rw-r--r--third_party/python/gyp/test/sibling/src/build/all.gyp16
-rw-r--r--third_party/python/gyp/test/sibling/src/prog1/prog1.c7
-rw-r--r--third_party/python/gyp/test/sibling/src/prog1/prog1.gyp15
-rw-r--r--third_party/python/gyp/test/sibling/src/prog2/prog2.c7
-rw-r--r--third_party/python/gyp/test/sibling/src/prog2/prog2.gyp15
7 files changed, 146 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/sibling/gyptest-all.py b/third_party/python/gyp/test/sibling/gyptest-all.py
new file mode 100755
index 0000000000..318e1a3d84
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/gyptest-all.py
@@ -0,0 +1,42 @@
+#!/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.
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+# The xcode-ninja generator handles gypfiles which are not at the
+# project root incorrectly.
+# cf. https://code.google.com/p/gyp/issues/detail?id=460
+if test.format == 'xcode-ninja':
+ test.skip_test()
+
+test.run_gyp('build/all.gyp', chdir='src')
+
+test.build('build/all.gyp', test.ALL, chdir='src')
+
+chdir = 'src/build'
+
+# The top-level Makefile is in the directory where gyp was run.
+# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp
+# file? What about when passing in multiple .gyp files? Would sub-project
+# Makefiles (see http://codereview.chromium.org/340008 comments) solve this?
+if test.format in ('make', 'ninja', 'cmake'):
+ chdir = 'src'
+
+if test.format == 'xcode':
+ chdir = 'src/prog1'
+test.run_built_executable('program1',
+ chdir=chdir,
+ stdout="Hello from prog1.c\n")
+
+if test.format == 'xcode':
+ chdir = 'src/prog2'
+test.run_built_executable('program2',
+ chdir=chdir,
+ stdout="Hello from prog2.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/sibling/gyptest-relocate.py b/third_party/python/gyp/test/sibling/gyptest-relocate.py
new file mode 100755
index 0000000000..05fa9d96fe
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/gyptest-relocate.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.
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+# The xcode-ninja generator handles gypfiles which are not at the
+# project root incorrectly.
+# cf. https://code.google.com/p/gyp/issues/detail?id=460
+if test.format == 'xcode-ninja':
+ test.skip_test()
+
+test.run_gyp('build/all.gyp', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+test.build('build/all.gyp', test.ALL, chdir='relocate/src')
+
+chdir = 'relocate/src/build'
+
+# The top-level Makefile is in the directory where gyp was run.
+# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp
+# file? What about when passing in multiple .gyp files? Would sub-project
+# Makefiles (see http://codereview.chromium.org/340008 comments) solve this?
+if test.format in ('make', 'ninja', 'cmake'):
+ chdir = 'relocate/src'
+
+if test.format == 'xcode':
+ chdir = 'relocate/src/prog1'
+test.run_built_executable('program1',
+ chdir=chdir,
+ stdout="Hello from prog1.c\n")
+
+if test.format == 'xcode':
+ chdir = 'relocate/src/prog2'
+test.run_built_executable('program2',
+ chdir=chdir,
+ stdout="Hello from prog2.c\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/sibling/src/build/all.gyp b/third_party/python/gyp/test/sibling/src/build/all.gyp
new file mode 100644
index 0000000000..79c80c9363
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/src/build/all.gyp
@@ -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.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'All',
+ 'type': 'none',
+ 'dependencies': [
+ '../prog1/prog1.gyp:*',
+ '../prog2/prog2.gyp:*',
+ ],
+ },
+ ],
+}
diff --git a/third_party/python/gyp/test/sibling/src/prog1/prog1.c b/third_party/python/gyp/test/sibling/src/prog1/prog1.c
new file mode 100644
index 0000000000..218e99401c
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/src/prog1/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/sibling/src/prog1/prog1.gyp b/third_party/python/gyp/test/sibling/src/prog1/prog1.gyp
new file mode 100644
index 0000000000..4532e4be10
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/src/prog1/prog1.gyp
@@ -0,0 +1,15 @@
+# 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.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'program1',
+ 'type': 'executable',
+ 'sources': [
+ 'prog1.c',
+ ],
+ },
+ ],
+}
diff --git a/third_party/python/gyp/test/sibling/src/prog2/prog2.c b/third_party/python/gyp/test/sibling/src/prog2/prog2.c
new file mode 100644
index 0000000000..12a31883b9
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/src/prog2/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/sibling/src/prog2/prog2.gyp b/third_party/python/gyp/test/sibling/src/prog2/prog2.gyp
new file mode 100644
index 0000000000..4cf7f6eb2f
--- /dev/null
+++ b/third_party/python/gyp/test/sibling/src/prog2/prog2.gyp
@@ -0,0 +1,15 @@
+# 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.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'program2',
+ 'type': 'executable',
+ 'sources': [
+ 'prog2.c',
+ ],
+ },
+ ],
+}