summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/rules-variables
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/rules-variables')
-rwxr-xr-xthird_party/python/gyp/test/rules-variables/gyptest-rules-variables.py35
-rw-r--r--third_party/python/gyp/test/rules-variables/src/input_ext.c9
-rw-r--r--third_party/python/gyp/test/rules-variables/src/input_name/test.c9
-rw-r--r--third_party/python/gyp/test/rules-variables/src/input_path/subdir/test.c9
-rw-r--r--third_party/python/gyp/test/rules-variables/src/subdir/input_dirname.c9
-rw-r--r--third_party/python/gyp/test/rules-variables/src/subdir/test.c18
-rw-r--r--third_party/python/gyp/test/rules-variables/src/test.input_root.c9
-rw-r--r--third_party/python/gyp/test/rules-variables/src/variables.gyp40
8 files changed, 138 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/rules-variables/gyptest-rules-variables.py b/third_party/python/gyp/test/rules-variables/gyptest-rules-variables.py
new file mode 100755
index 0000000000..16afc22ef9
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/gyptest-rules-variables.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2011 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 rules related variables are expanded.
+"""
+
+from __future__ import print_function
+
+import sys
+
+if sys.platform == 'win32':
+ print("This test is currently disabled: https://crbug.com/483696.")
+ sys.exit(0)
+
+
+import TestGyp
+
+test = TestGyp.TestGyp(formats=['ninja'])
+
+test.relocate('src', 'relocate/src')
+
+test.run_gyp('variables.gyp', chdir='relocate/src')
+
+test.build('variables.gyp', chdir='relocate/src')
+
+test.run_built_executable('all_rule_variables',
+ chdir='relocate/src',
+ stdout="input_root\ninput_dirname\ninput_path\n" +
+ "input_ext\ninput_name\n")
+
+test.pass_test()
diff --git a/third_party/python/gyp/test/rules-variables/src/input_ext.c b/third_party/python/gyp/test/rules-variables/src/input_ext.c
new file mode 100644
index 0000000000..f41e73ef8a
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/input_ext.c
@@ -0,0 +1,9 @@
+// Copyright (c) 2011 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.
+
+#include <stdio.h>
+
+void input_ext() {
+ printf("input_ext\n");
+}
diff --git a/third_party/python/gyp/test/rules-variables/src/input_name/test.c b/third_party/python/gyp/test/rules-variables/src/input_name/test.c
new file mode 100644
index 0000000000..e28b74d115
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/input_name/test.c
@@ -0,0 +1,9 @@
+// Copyright (c) 2011 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.
+
+#include <stdio.h>
+
+void input_name() {
+ printf("input_name\n");
+}
diff --git a/third_party/python/gyp/test/rules-variables/src/input_path/subdir/test.c b/third_party/python/gyp/test/rules-variables/src/input_path/subdir/test.c
new file mode 100644
index 0000000000..403dbbda4c
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/input_path/subdir/test.c
@@ -0,0 +1,9 @@
+// Copyright (c) 2011 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.
+
+#include <stdio.h>
+
+void input_path() {
+ printf("input_path\n");
+}
diff --git a/third_party/python/gyp/test/rules-variables/src/subdir/input_dirname.c b/third_party/python/gyp/test/rules-variables/src/subdir/input_dirname.c
new file mode 100644
index 0000000000..40cecd87d9
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/subdir/input_dirname.c
@@ -0,0 +1,9 @@
+// Copyright (c) 2011 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.
+
+#include <stdio.h>
+
+void input_dirname() {
+ printf("input_dirname\n");
+}
diff --git a/third_party/python/gyp/test/rules-variables/src/subdir/test.c b/third_party/python/gyp/test/rules-variables/src/subdir/test.c
new file mode 100644
index 0000000000..6c0280b8ad
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/subdir/test.c
@@ -0,0 +1,18 @@
+// Copyright (c) 2011 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.
+
+extern void input_root();
+extern void input_dirname();
+extern void input_path();
+extern void input_ext();
+extern void input_name();
+
+int main() {
+ input_root();
+ input_dirname();
+ input_path();
+ input_ext();
+ input_name();
+ return 0;
+}
diff --git a/third_party/python/gyp/test/rules-variables/src/test.input_root.c b/third_party/python/gyp/test/rules-variables/src/test.input_root.c
new file mode 100644
index 0000000000..33a7740a5c
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/test.input_root.c
@@ -0,0 +1,9 @@
+// Copyright (c) 2011 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.
+
+#include <stdio.h>
+
+void input_root() {
+ printf("input_root\n");
+}
diff --git a/third_party/python/gyp/test/rules-variables/src/variables.gyp b/third_party/python/gyp/test/rules-variables/src/variables.gyp
new file mode 100644
index 0000000000..6debba12e3
--- /dev/null
+++ b/third_party/python/gyp/test/rules-variables/src/variables.gyp
@@ -0,0 +1,40 @@
+# Copyright (c) 2011 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.
+
+{
+ 'target_defaults': {
+ # This test shouldn't ever actually need to execute its rules: there's no
+ # command line that generates any output anyway. However, there's something
+ # slightly broken in either ninja or (maybe more likely?) on the win32 VM
+ # gypbots that breaks dependency checking and causes this rule to want to
+ # run. When it does run, the cygwin path is wrong, so the do-nothing step
+ # fails.
+ # TODO: Investigate and fix whatever's actually failing and remove this.
+ 'msvs_cygwin_dirs': ['../../../../../../<(DEPTH)/third_party/cygwin'],
+ },
+ 'targets': [
+ {
+ 'target_name': 'all_rule_variables',
+ 'type': 'executable',
+ 'sources': [
+ 'subdir/test.c',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'rule_variable',
+ 'extension': 'c',
+ 'outputs': [
+ '<(RULE_INPUT_ROOT).input_root.c',
+ '<(RULE_INPUT_DIRNAME)/input_dirname.c',
+ 'input_path/<(RULE_INPUT_PATH)',
+ 'input_ext<(RULE_INPUT_EXT)',
+ 'input_name/<(RULE_INPUT_NAME)',
+ ],
+ 'action': [],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ },
+ ],
+}