summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/rules-dirname/gyptest-dirname.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/rules-dirname/gyptest-dirname.py')
-rwxr-xr-xthird_party/python/gyp/test/rules-dirname/gyptest-dirname.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/rules-dirname/gyptest-dirname.py b/third_party/python/gyp/test/rules-dirname/gyptest-dirname.py
new file mode 100755
index 0000000000..da5429cbad
--- /dev/null
+++ b/third_party/python/gyp/test/rules-dirname/gyptest-dirname.py
@@ -0,0 +1,57 @@
+#!/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 simple rules when using an explicit build target of 'all'.
+"""
+
+from __future__ import print_function
+
+import TestGyp
+import os
+import sys
+
+if sys.platform == 'win32':
+ print("This test is currently disabled: https://crbug.com/483696.")
+ sys.exit(0)
+
+
+test = TestGyp.TestGyp(formats=['make', 'ninja', 'xcode', 'msvs'])
+
+test.run_gyp('actions.gyp', chdir='src')
+
+test.relocate('src', 'relocate/src')
+
+test.build('actions.gyp', chdir='relocate/src')
+
+expect = """\
+no dir here
+hi c
+hello baz
+"""
+if test.format == 'xcode':
+ chdir = 'relocate/src/subdir'
+else:
+ chdir = 'relocate/src'
+test.run_built_executable('gencc_int_output', chdir=chdir, stdout=expect)
+if test.format == 'msvs':
+ test.run_built_executable('gencc_int_output_external', chdir=chdir,
+ stdout=expect)
+
+test.must_match('relocate/src/subdir/foo/bar/baz.dirname',
+ os.path.join('foo', 'bar'))
+test.must_match('relocate/src/subdir/a/b/c.dirname',
+ os.path.join('a', 'b'))
+
+# FIXME the xcode and make generators incorrectly convert RULE_INPUT_PATH
+# to an absolute path, making the tests below fail!
+if test.format != 'xcode' and test.format != 'make':
+ test.must_match('relocate/src/subdir/foo/bar/baz.path',
+ os.path.join('foo', 'bar', 'baz.printvars'))
+ test.must_match('relocate/src/subdir/a/b/c.path',
+ os.path.join('a', 'b', 'c.printvars'))
+
+test.pass_test()