diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/python/gyp/test/ninja/action-rule-hash | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/python/gyp/test/ninja/action-rule-hash')
3 files changed, 74 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/ninja/action-rule-hash/gyptest-action-rule-hash.py b/third_party/python/gyp/test/ninja/action-rule-hash/gyptest-action-rule-hash.py new file mode 100644 index 0000000000..7147fd2fc3 --- /dev/null +++ b/third_party/python/gyp/test/ninja/action-rule-hash/gyptest-action-rule-hash.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +# Copyright (c) 2014 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. + +""" +Verify that running gyp in a different directory does not cause actions and +rules to rerun. +""" + +import os +import sys +import TestGyp + +test = TestGyp.TestGyp(formats=['ninja']) +# 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('subdir/action-rule-hash.gyp') +test.build('subdir/action-rule-hash.gyp', test.ALL) +test.up_to_date('subdir/action-rule-hash.gyp') + +# Verify that everything is still up-to-date when we re-invoke gyp from a +# different directory. +test.run_gyp('action-rule-hash.gyp', '--depth=../', chdir='subdir') +test.up_to_date('subdir/action-rule-hash.gyp') + +test.pass_test() diff --git a/third_party/python/gyp/test/ninja/action-rule-hash/subdir/action-rule-hash.gyp b/third_party/python/gyp/test/ninja/action-rule-hash/subdir/action-rule-hash.gyp new file mode 100644 index 0000000000..0e88a3019f --- /dev/null +++ b/third_party/python/gyp/test/ninja/action-rule-hash/subdir/action-rule-hash.gyp @@ -0,0 +1,29 @@ +# Copyright (c) 2014 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': 'program', + 'type': 'executable', + 'sources': [ + '<(INTERMEDIATE_DIR)/main.cc', + ], + 'actions': [ + { + 'action_name': 'emit_main_cc', + 'inputs': ['emit.py'], + 'outputs': ['<(INTERMEDIATE_DIR)/main.cc'], + 'action': [ + 'python', + 'emit.py', + '<(INTERMEDIATE_DIR)/main.cc', + ], + # Allows the test to run without hermetic cygwin on windows. + 'msvs_cygwin_shell': 0, + }, + ], + }, + ], +} diff --git a/third_party/python/gyp/test/ninja/action-rule-hash/subdir/emit.py b/third_party/python/gyp/test/ninja/action-rule-hash/subdir/emit.py new file mode 100644 index 0000000000..6b17125574 --- /dev/null +++ b/third_party/python/gyp/test/ninja/action-rule-hash/subdir/emit.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +# Copyright (c) 2014 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 sys + +f = open(sys.argv[1], 'w') +f.write('int main() {\n') +f.write(' return 0;\n') +f.write('}\n') +f.close() |