diff options
Diffstat (limited to 'third_party/python/gyp/test/variables')
36 files changed, 1430 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/variables/commands/commands-repeated.gyp b/third_party/python/gyp/test/variables/commands/commands-repeated.gyp new file mode 100644 index 0000000000..1f52e75936 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands-repeated.gyp @@ -0,0 +1,128 @@ +# 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. + +# This is a simple test file to make sure that variable substitution +# happens correctly. Run "run_tests.py" using python to generate the +# output from this gyp file. + +{ + 'variables': { + 'pi': 'import math; print(math.pi)', + 'third_letters': "<(other_letters)HIJK", + 'letters_list': 'ABCD', + 'other_letters': '<(letters_list)EFG', + 'check_included': '<(included_variable)', + 'check_lists': [ + '<(included_variable)', + '<(third_letters)', + ], + 'check_int': 5, + 'check_str_int': '6', + 'check_list_int': [ + 7, + '8', + 9, + ], + 'not_int_1': ' 10', + 'not_int_2': '11 ', + 'not_int_3': '012', + 'not_int_4': '13.0', + 'not_int_5': '+14', + 'negative_int': '-15', + 'zero_int': '0', + }, + 'includes': [ + 'commands.gypi', + ], + 'targets': [ + { + 'target_name': 'foo', + 'type': 'none', + 'variables': { + 'var1': '<!(["python", "-c", "<(pi)"])', + 'var2': '<!(python -c "print(\'<!(python -c "<(pi)") <(letters_list)\')")', + 'var3': '<!(python -c "print(\'<(letters_list)\')")', + 'var4': '<(<!(python -c "print(\'letters_list\')"))', + 'var5': 'letters_', + 'var6': 'list', + 'var7': '<(check_int)', + 'var8': '<(check_int)blah', + 'var9': '<(check_str_int)', + 'var10': '<(check_list_int)', + 'var11': ['<@(check_list_int)'], + 'var12': '<(not_int_1)', + 'var13': '<(not_int_2)', + 'var14': '<(not_int_3)', + 'var15': '<(not_int_4)', + 'var16': '<(not_int_5)', + 'var17': '<(negative_int)', + 'var18': '<(zero_int)', + # A second set with different names to make sure they only execute the + # commands once. + 'var1prime': '<!(["python", "-c", "<(pi)"])', + 'var2prime': '<!(python -c "print(\'<!(python -c "<(pi)") <(letters_list)\')")', + 'var3prime': '<!(python -c "print(\'<(letters_list)\')")', + 'var4prime': '<(<!(python -c "print(\'letters_list\')"))', + }, + 'actions': [ + { + 'action_name': 'test_action', + 'variables': { + 'var7': '<!(echo <(var5)<(var6))', + }, + 'inputs' : [ + '<(var2)', + ], + 'outputs': [ + '<(var4)', + '<(var7)', + ], + 'action': [ + 'echo', + '<(_inputs)', + '<(_outputs)', + ], + }, + # Again with the same vars to make sure the right things happened. + { + 'action_name': 'test_action_prime', + 'variables': { + 'var7': '<!(echo <(var5)<(var6))', + }, + 'inputs' : [ + '<(var2)', + ], + 'outputs': [ + '<(var4)', + '<(var7)', + ], + 'action': [ + 'echo', + '<(_inputs)', + '<(_outputs)', + ], + }, + # And one more time with the other vars... + { + 'action_name': 'test_action_prime_prime', + 'variables': { + 'var7': '<!(echo <(var5)<(var6))', + }, + 'inputs' : [ + '<(var2prime)', + ], + 'outputs': [ + '<(var4prime)', + '<(var7)', + ], + 'action': [ + 'echo', + '<(_inputs)', + '<(_outputs)', + ], + }, + ], + }, + ], +} diff --git a/third_party/python/gyp/test/variables/commands/commands-repeated.gyp.stdout b/third_party/python/gyp/test/variables/commands/commands-repeated.gyp.stdout new file mode 100644 index 0000000000..00bba88e4f --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands-repeated.gyp.stdout @@ -0,0 +1,136 @@ +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFG', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'XYZ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'XYZ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'third_letters', 'is_array': '', 'replace': '<(third_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(other_letters)HIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "import math; print(math.pi)"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "import math; print(math.pi)"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'3.14159265359 ABCD\')"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('3.14159265359 ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '["python", "-c", "import math; print(math.pi)"]', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command '['python', '-c', 'import math; print(math.pi)']' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '<!(python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<(<!(python -c "print(\'letters_list\')', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<!(python -c "print(\'letters_list\')', 'type': '<!', 'command_string': None} +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('letters_list')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '5', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '["python", "-c", "import math; print(math.pi)"]', recursing. +VARIABLES:input.py:889:ExpandVariables Had cache value for command '['python', '-c', 'import math; print(math.pi)']' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print(\'<(letters_list)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'ABCD\')"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "import math; print(math.pi)"', recursing. +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'python -c "import math; print(math.pi)"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'3.14159265359 ABCD\')"', recursing. +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'python -c "print('3.14159265359 ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_str_int', 'is_array': '', 'replace': '<(check_str_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '6', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '5blah', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '<!(python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<(<!(python -c "print(\'letters_list\')', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<!(python -c "print(\'letters_list\')', 'type': '<!', 'command_string': None} +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'python -c "print('letters_list')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print(\'<(letters_list)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'ABCD\')"', recursing. +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'python -c "print('ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_4', 'is_array': '', 'replace': '<(not_int_4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '13.0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_3', 'is_array': '', 'replace': '<(not_int_3)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '012', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'negative_int', 'is_array': '', 'replace': '<(negative_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '-15', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_5', 'is_array': '', 'replace': '<(not_int_5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '+14', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<(check_list_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '7 8 9', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_2', 'is_array': '', 'replace': '<(not_int_2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '11 ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_1', 'is_array': '', 'replace': '<(not_int_1)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output ' 10', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'zero_int', 'is_array': '', 'replace': '<(zero_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<@(check_list_int)', 'type': '<@', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output [7, 8, 9], recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'echo letters_list', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'echo letters_list' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:964:ExpandVariables Found output '"3.14159265359 ABCD"', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'echo letters_list', recursing. +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'echo letters_list' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:964:ExpandVariables Found output '"3.14159265359 ABCD"', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'echo letters_list', recursing. +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'echo letters_list' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var2prime', 'is_array': '', 'replace': '<(var2prime)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:964:ExpandVariables Found output '"3.14159265359 ABCD"', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var4prime', 'is_array': '', 'replace': '<(var4prime)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD letters_list', recursing. diff --git a/third_party/python/gyp/test/variables/commands/commands-repeated.gypd.golden b/third_party/python/gyp/test/variables/commands/commands-repeated.gypd.golden new file mode 100644 index 0000000000..fa4c53716f --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands-repeated.gypd.golden @@ -0,0 +1,77 @@ +{'_DEPTH': '.', + 'included_files': ['commands-repeated.gyp', 'commands.gypi'], + 'targets': [{'actions': [{'action': ['echo', + '"3.14159265359 ABCD"', + 'ABCD letters_list'], + 'action_name': 'test_action', + 'inputs': ['3.14159265359 ABCD'], + 'outputs': ['ABCD', 'letters_list'], + 'variables': {'var7': 'letters_list'}}, + {'action': ['echo', + '"3.14159265359 ABCD"', + 'ABCD letters_list'], + 'action_name': 'test_action_prime', + 'inputs': ['3.14159265359 ABCD'], + 'outputs': ['ABCD', 'letters_list'], + 'variables': {'var7': 'letters_list'}}, + {'action': ['echo', + '"3.14159265359 ABCD"', + 'ABCD letters_list'], + 'action_name': 'test_action_prime_prime', + 'inputs': ['3.14159265359 ABCD'], + 'outputs': ['ABCD', 'letters_list'], + 'variables': {'var7': 'letters_list'}}], + 'configurations': {'Default': {}}, + 'default_configuration': 'Default', + 'target_name': 'foo', + 'toolset': 'target', + 'type': 'none', + 'variables': {'var1': '3.14159265359', + 'var10': '7 8 9', + 'var11': ['7', '8', '9'], + 'var12': ' 10', + 'var13': '11 ', + 'var14': '012', + 'var15': '13.0', + 'var16': '+14', + 'var17': '-15', + 'var18': '0', + 'var1prime': '3.14159265359', + 'var2': '3.14159265359 ABCD', + 'var2prime': '3.14159265359 ABCD', + 'var3': 'ABCD', + 'var3prime': 'ABCD', + 'var4': 'ABCD', + 'var4prime': 'ABCD', + 'var5': 'letters_', + 'var6': 'list', + 'var7': '5', + 'var8': '5blah', + 'var9': '6'}}, + {'configurations': {'Default': {}}, + 'default_configuration': 'Default', + 'target_name': 'dummy', + 'toolset': 'target', + 'type': 'none'}], + 'variables': {'check_included': 'XYZ', + 'check_int': '5', + 'check_list_int': ['7', '8', '9'], + 'check_lists': ['XYZ', 'ABCDEFGHIJK'], + 'check_str_int': '6', + 'default_empty_files%': '', + 'default_empty_str%': '', + 'default_int%': '0', + 'default_int_files%': '0', + 'default_str%': 'my_str', + 'included_variable': 'XYZ', + 'letters_list': 'ABCD', + 'negative_int': '-15', + 'not_int_1': ' 10', + 'not_int_2': '11 ', + 'not_int_3': '012', + 'not_int_4': '13.0', + 'not_int_5': '+14', + 'other_letters': 'ABCDEFG', + 'pi': 'import math; print(math.pi)', + 'third_letters': 'ABCDEFGHIJK', + 'zero_int': '0'}} diff --git a/third_party/python/gyp/test/variables/commands/commands.gyp b/third_party/python/gyp/test/variables/commands/commands.gyp new file mode 100644 index 0000000000..7d460b1810 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands.gyp @@ -0,0 +1,91 @@ +# 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. + +# This is a simple test file to make sure that variable substitution +# happens correctly. Run "run_tests.py" using python to generate the +# output from this gyp file. + +{ + 'variables': { + 'pi': 'import math; print(math.pi)', + 'third_letters': "<(other_letters)HIJK", + 'letters_list': 'ABCD', + 'other_letters': '<(letters_list)EFG', + 'check_included': '<(included_variable)', + 'check_lists': [ + '<(included_variable)', + '<(third_letters)', + ], + 'check_int': 5, + 'check_str_int': '6', + 'check_list_int': [ + 7, + '8', + 9, + ], + 'not_int_1': ' 10', + 'not_int_2': '11 ', + 'not_int_3': '012', + 'not_int_4': '13.0', + 'not_int_5': '+14', + 'negative_int': '-15', + 'zero_int': '0', + }, + 'includes': [ + 'commands.gypi', + ], + 'targets': [ + { + 'target_name': 'foo', + 'type': 'none', + 'variables': { + 'var1': '<!(["python", "-c", "<(pi)"])', + 'var2': '<!(python -c "print(\'<!(python -c "<(pi)") <(letters_list)\')")', + 'var3': '<!(python -c "print(\'<(letters_list)\')")', + 'var4': '<(<!(python -c "print(\'letters_list\')"))', + 'var5': 'letters_', + 'var6': 'list', + 'var7': '<(check_int)', + 'var8': '<(check_int)blah', + 'var9': '<(check_str_int)', + 'var10': '<(check_list_int)', + 'var11': ['<@(check_list_int)'], + 'var12': '<(not_int_1)', + 'var13': '<(not_int_2)', + 'var14': '<(not_int_3)', + 'var15': '<(not_int_4)', + 'var16': '<(not_int_5)', + 'var17': '<(negative_int)', + 'var18': '<(zero_int)', + 'var19': ['<!@(python test.py)'], + 'var20': '<!(python test.py)', + 'var21': '<(default_str)', + 'var22': '<(default_empty_str)', + 'var23': '<(default_int)', + 'var24': '<(default_empty_files)', + 'var25': '<(default_int_files)', + }, + 'actions': [ + { + 'action_name': 'test_action', + 'variables': { + 'var7': '<!(echo <(var5)<(var6))', + }, + 'inputs' : [ + '<(var2)', + ], + 'outputs': [ + '<(var4)', + '<(var7)', + ], + 'action': [ + 'echo', + '<(_inputs)', + '<(_outputs)', + ], + }, + ], + }, + ], +} diff --git a/third_party/python/gyp/test/variables/commands/commands.gyp.ignore-env.stdout b/third_party/python/gyp/test/variables/commands/commands.gyp.ignore-env.stdout new file mode 100644 index 0000000000..1b721d805b --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands.gyp.ignore-env.stdout @@ -0,0 +1,96 @@ +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFG', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'XYZ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'XYZ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'third_letters', 'is_array': '', 'replace': '<(third_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(other_letters)HIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_empty_files', 'is_array': '', 'replace': '<(default_empty_files)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_int_files', 'is_array': '', 'replace': '<(default_int_files)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!(python test.py)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:838:ExpandVariables Executing command 'python test.py' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'sample\\path\\foo.cpp', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_str', 'is_array': '', 'replace': '<(default_str)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'my_str', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_empty_str', 'is_array': '', 'replace': '<(default_empty_str)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_int', 'is_array': '', 'replace': '<(default_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '<!(python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<(<!(python -c "print(\'letters_list\')', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<!(python -c "print(\'letters_list\')', 'type': '<!', 'command_string': None} +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('letters_list')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '5', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '["python", "-c", "import math; print(math.pi)"]', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command '['python', '-c', 'import math; print(math.pi)']' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print(\'<(letters_list)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'ABCD\')"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "import math; print(math.pi)"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "import math; print(math.pi)"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'3.14159265359 ABCD\')"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('3.14159265359 ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_str_int', 'is_array': '', 'replace': '<(check_str_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '6', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '5blah', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_4', 'is_array': '', 'replace': '<(not_int_4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '13.0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_3', 'is_array': '', 'replace': '<(not_int_3)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '012', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'negative_int', 'is_array': '', 'replace': '<(negative_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '-15', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_5', 'is_array': '', 'replace': '<(not_int_5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '+14', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<(check_list_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '7 8 9', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_2', 'is_array': '', 'replace': '<(not_int_2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '11 ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_1', 'is_array': '', 'replace': '<(not_int_1)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output ' 10', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'zero_int', 'is_array': '', 'replace': '<(zero_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<@(check_list_int)', 'type': '<@', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output [7, 8, 9], recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!@(python test.py)', 'type': '<!@', 'command_string': None} +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'python test.py' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output ['samplepathfoo.cpp'], recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'echo letters_list', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'echo letters_list' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:964:ExpandVariables Found output '"3.14159265359 ABCD"', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD letters_list', recursing. diff --git a/third_party/python/gyp/test/variables/commands/commands.gyp.stdout b/third_party/python/gyp/test/variables/commands/commands.gyp.stdout new file mode 100644 index 0000000000..1b721d805b --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands.gyp.stdout @@ -0,0 +1,96 @@ +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFG', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'XYZ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'XYZ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'third_letters', 'is_array': '', 'replace': '<(third_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(other_letters)HIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCDEFGHIJK', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_empty_files', 'is_array': '', 'replace': '<(default_empty_files)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_int_files', 'is_array': '', 'replace': '<(default_int_files)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!(python test.py)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:838:ExpandVariables Executing command 'python test.py' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'sample\\path\\foo.cpp', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_str', 'is_array': '', 'replace': '<(default_str)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'my_str', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_empty_str', 'is_array': '', 'replace': '<(default_empty_str)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'default_int', 'is_array': '', 'replace': '<(default_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '<!(python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<(<!(python -c "print(\'letters_list\')', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'letters_list\'', 'is_array': '', 'replace': '<!(python -c "print(\'letters_list\')', 'type': '<!', 'command_string': None} +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('letters_list')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '5', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '["python", "-c", "import math; print(math.pi)"]', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command '['python', '-c', 'import math; print(math.pi)']' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print(\'<(letters_list)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'ABCD\')"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "print(\'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "import math; print(math.pi)"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "import math; print(math.pi)"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'python -c "print(\'3.14159265359 ABCD\')"', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'python -c "print('3.14159265359 ABCD')"' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_str_int', 'is_array': '', 'replace': '<(check_str_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '6', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '5blah', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_4', 'is_array': '', 'replace': '<(not_int_4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '13.0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_3', 'is_array': '', 'replace': '<(not_int_3)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '012', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'negative_int', 'is_array': '', 'replace': '<(negative_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '-15', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_5', 'is_array': '', 'replace': '<(not_int_5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '+14', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<(check_list_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '7 8 9', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_2', 'is_array': '', 'replace': '<(not_int_2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '11 ', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'not_int_1', 'is_array': '', 'replace': '<(not_int_1)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output ' 10', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'zero_int', 'is_array': '', 'replace': '<(zero_int)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '0', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<@(check_list_int)', 'type': '<@', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output [7, 8, 9], recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!@(python test.py)', 'type': '<!@', 'command_string': None} +VARIABLES:input.py:889:ExpandVariables Had cache value for command 'python test.py' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output ['samplepathfoo.cpp'], recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'echo letters_list', recursing. +VARIABLES:input.py:838:ExpandVariables Executing command 'echo letters_list' in directory 'None' +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output '3.14159265359 ABCD', recursing. +VARIABLES:input.py:964:ExpandVariables Found output '"3.14159265359 ABCD"', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None} +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD', recursing. +VARIABLES:input.py:724:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None} +VARIABLES:input.py:964:ExpandVariables Found output 'letters_list', recursing. +VARIABLES:input.py:964:ExpandVariables Found output 'ABCD letters_list', recursing. diff --git a/third_party/python/gyp/test/variables/commands/commands.gypd.golden b/third_party/python/gyp/test/variables/commands/commands.gypd.golden new file mode 100644 index 0000000000..13abba26c4 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands.gypd.golden @@ -0,0 +1,66 @@ +{'_DEPTH': '.', + 'included_files': ['commands.gyp', 'commands.gypi'], + 'targets': [{'actions': [{'action': ['echo', + '"3.14159265359 ABCD"', + 'ABCD letters_list'], + 'action_name': 'test_action', + 'inputs': ['3.14159265359 ABCD'], + 'outputs': ['ABCD', 'letters_list'], + 'variables': {'var7': 'letters_list'}}], + 'configurations': {'Default': {}}, + 'default_configuration': 'Default', + 'target_name': 'foo', + 'toolset': 'target', + 'type': 'none', + 'variables': {'var1': '3.14159265359', + 'var10': '7 8 9', + 'var11': ['7', '8', '9'], + 'var12': ' 10', + 'var13': '11 ', + 'var14': '012', + 'var15': '13.0', + 'var16': '+14', + 'var17': '-15', + 'var18': '0', + 'var19': ['samplepathfoo.cpp'], + 'var2': '3.14159265359 ABCD', + 'var20': 'sample\\path\\foo.cpp', + 'var21': 'my_str', + 'var22': '', + 'var23': '0', + 'var24': '', + 'var25': '0', + 'var3': 'ABCD', + 'var4': 'ABCD', + 'var5': 'letters_', + 'var6': 'list', + 'var7': '5', + 'var8': '5blah', + 'var9': '6'}}, + {'configurations': {'Default': {}}, + 'default_configuration': 'Default', + 'target_name': 'dummy', + 'toolset': 'target', + 'type': 'none'}], + 'variables': {'check_included': 'XYZ', + 'check_int': '5', + 'check_list_int': ['7', '8', '9'], + 'check_lists': ['XYZ', 'ABCDEFGHIJK'], + 'check_str_int': '6', + 'default_empty_files%': '', + 'default_empty_str%': '', + 'default_int%': '0', + 'default_int_files%': '0', + 'default_str%': 'my_str', + 'included_variable': 'XYZ', + 'letters_list': 'ABCD', + 'negative_int': '-15', + 'not_int_1': ' 10', + 'not_int_2': '11 ', + 'not_int_3': '012', + 'not_int_4': '13.0', + 'not_int_5': '+14', + 'other_letters': 'ABCDEFG', + 'pi': 'import math; print(math.pi)', + 'third_letters': 'ABCDEFGHIJK', + 'zero_int': '0'}} diff --git a/third_party/python/gyp/test/variables/commands/commands.gypi b/third_party/python/gyp/test/variables/commands/commands.gypi new file mode 100644 index 0000000000..839cb30b7e --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/commands.gypi @@ -0,0 +1,23 @@ +# 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. + +# This file is included from commands.gyp to test evaluation order of includes. +{ + 'variables': { + 'included_variable': 'XYZ', + + 'default_str%': 'my_str', + 'default_empty_str%': '', + 'default_int%': 0, + + 'default_empty_files%': '', + 'default_int_files%': 0, + }, + 'targets': [ + { + 'target_name': 'dummy', + 'type': 'none', + }, + ], +} diff --git a/third_party/python/gyp/test/variables/commands/gyptest-commands-ignore-env.py b/third_party/python/gyp/test/variables/commands/gyptest-commands-ignore-env.py new file mode 100755 index 0000000000..5470d5ce36 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/gyptest-commands-ignore-env.py @@ -0,0 +1,47 @@ +#!/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. + +""" +Test that environment variables are ignored when --ignore-environment is +specified. +""" + +from __future__ import print_function +import os + +import TestGyp + +test = TestGyp.TestGyp(format='gypd') + +os.environ['GYP_DEFINES'] = 'FOO=BAR' +os.environ['GYP_GENERATORS'] = 'foo' +os.environ['GYP_GENERATOR_FLAGS'] = 'genflag=foo' +os.environ['GYP_GENERATOR_OUTPUT'] = 'somedir' + +expect = test.read('commands.gyp.ignore-env.stdout').replace('\r\n', '\n') + +test.run_gyp('commands.gyp', + '--debug', 'variables', + '--ignore-environment', + stdout=expect, ignore_line_numbers=True) + +# Verify the commands.gypd against the checked-in expected contents. +# +# Normally, we should canonicalize line endings in the expected +# contents file setting the Subversion svn:eol-style to native, +# but that would still fail if multiple systems are sharing a single +# workspace on a network-mounted file system. Consequently, we +# massage the Windows line endings ('\r\n') in the output to the +# checked-in UNIX endings ('\n'). + +contents = test.read('commands.gypd').replace('\r', '') +expect = test.read('commands.gypd.golden').replace('\r', '') +if not test.match(contents, expect): + print("Unexpected contents of `commands.gypd'") + test.diff(expect, contents, 'commands.gypd ') + test.fail_test() + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/commands/gyptest-commands-repeated-multidir.py b/third_party/python/gyp/test/variables/commands/gyptest-commands-repeated-multidir.py new file mode 100755 index 0000000000..21e0487565 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/gyptest-commands-repeated-multidir.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +# Copyright 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. + +""" +Test variable expansion of '<!()' syntax commands where they are evaluated +more than once from different directories. +""" + +import TestGyp + +test = TestGyp.TestGyp() + +# This tests GYP's cache of commands, ensuring that the directory a command is +# run from is part of its cache key. Parallelism may lead to multiple cache +# lookups failing, resulting in the command being run multiple times by +# chance, not by GYP's logic. Turn off parallelism to ensure that the logic is +# being tested. +test.run_gyp('repeated_multidir/main.gyp', '--no-parallel') + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/commands/gyptest-commands-repeated.py b/third_party/python/gyp/test/variables/commands/gyptest-commands-repeated.py new file mode 100755 index 0000000000..fcf98ee02a --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/gyptest-commands-repeated.py @@ -0,0 +1,40 @@ +#!/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. + +""" +Test variable expansion of '<!()' syntax commands where they are evaluated +more then once.. +""" + +from __future__ import print_function + +import TestGyp + +test = TestGyp.TestGyp(format='gypd') + +expect = test.read('commands-repeated.gyp.stdout').replace('\r\n', '\n') + +test.run_gyp('commands-repeated.gyp', + '--debug', 'variables', + stdout=expect, ignore_line_numbers=True) + +# Verify the commands-repeated.gypd against the checked-in expected contents. +# +# Normally, we should canonicalize line endings in the expected +# contents file setting the Subversion svn:eol-style to native, +# but that would still fail if multiple systems are sharing a single +# workspace on a network-mounted file system. Consequently, we +# massage the Windows line endings ('\r\n') in the output to the +# checked-in UNIX endings ('\n'). + +contents = test.read('commands-repeated.gypd').replace('\r\n', '\n') +expect = test.read('commands-repeated.gypd.golden').replace('\r\n', '\n') +if not test.match(contents, expect): + print("Unexpected contents of `commands-repeated.gypd'") + test.diff(expect, contents, 'commands-repeated.gypd ') + test.fail_test() + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/commands/gyptest-commands.py b/third_party/python/gyp/test/variables/commands/gyptest-commands.py new file mode 100755 index 0000000000..3251120ff4 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/gyptest-commands.py @@ -0,0 +1,40 @@ +#!/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. + +""" +Test variable expansion of '<!()' syntax commands. +""" + +from __future__ import print_function +import os + +import TestGyp + +test = TestGyp.TestGyp(format='gypd') + +expect = test.read('commands.gyp.stdout').replace('\r', '') + +test.run_gyp('commands.gyp', + '--debug', 'variables', + stdout=expect, ignore_line_numbers=True) + +# Verify the commands.gypd against the checked-in expected contents. +# +# Normally, we should canonicalize line endings in the expected +# contents file setting the Subversion svn:eol-style to native, +# but that would still fail if multiple systems are sharing a single +# workspace on a network-mounted file system. Consequently, we +# massage the Windows line endings ('\r\n') in the output to the +# checked-in UNIX endings ('\n'). + +contents = test.read('commands.gypd').replace('\r', '') +expect = test.read('commands.gypd.golden').replace('\r', '') +if not test.match(contents, expect): + print("Unexpected contents of `commands.gypd'") + test.diff(expect, contents, 'commands.gypd ') + test.fail_test() + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/commands/repeated_multidir/dir_1/test_1.gyp b/third_party/python/gyp/test/variables/commands/repeated_multidir/dir_1/test_1.gyp new file mode 100644 index 0000000000..328fc306cd --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/repeated_multidir/dir_1/test_1.gyp @@ -0,0 +1,13 @@ +# Copyright 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. + +{ + 'variables': { + 'expected_value': 'dir_1', + 'target_name': 'target_1', + }, + 'includes': [ + '../repeated_command_common.gypi', + ], +} diff --git a/third_party/python/gyp/test/variables/commands/repeated_multidir/dir_2/test_2.gyp b/third_party/python/gyp/test/variables/commands/repeated_multidir/dir_2/test_2.gyp new file mode 100644 index 0000000000..18e0c62c93 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/repeated_multidir/dir_2/test_2.gyp @@ -0,0 +1,13 @@ +# Copyright 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. + +{ + 'variables': { + 'expected_value': 'dir_2', + 'target_name': 'target_2', + }, + 'includes': [ + '../repeated_command_common.gypi', + ], +} diff --git a/third_party/python/gyp/test/variables/commands/repeated_multidir/main.gyp b/third_party/python/gyp/test/variables/commands/repeated_multidir/main.gyp new file mode 100644 index 0000000000..5beeeb7244 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/repeated_multidir/main.gyp @@ -0,0 +1,16 @@ +# Copyright 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': 'main', + 'type': 'none', + 'dependencies': [ + 'dir_1/test_1.gyp:target_1', + 'dir_2/test_2.gyp:target_2', + ], + }, + ], +} diff --git a/third_party/python/gyp/test/variables/commands/repeated_multidir/print_cwd_basename.py b/third_party/python/gyp/test/variables/commands/repeated_multidir/print_cwd_basename.py new file mode 100755 index 0000000000..9b206bb3d4 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/repeated_multidir/print_cwd_basename.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +# Copyright 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. + +from __future__ import print_function +import os +import os.path + +print(os.path.basename(os.getcwd())) diff --git a/third_party/python/gyp/test/variables/commands/repeated_multidir/repeated_command_common.gypi b/third_party/python/gyp/test/variables/commands/repeated_multidir/repeated_command_common.gypi new file mode 100644 index 0000000000..74366771aa --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/repeated_multidir/repeated_command_common.gypi @@ -0,0 +1,25 @@ +# Copyright 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. + +{ + 'variables': { + # This command will be run from the directories of the .gyp files that + # include this .gypi, the subdirectories dir_1 and dir_2, so use a + # relative path from those directories to the script. + 'observed_value': '<!(python ../print_cwd_basename.py)', + }, + 'targets': [ + { + 'target_name': '<(target_name)', + 'type': 'none', + 'conditions': [ + ['observed_value != expected_value', { + # Attempt to expand an undefined variable. This triggers a GYP + # error. + 'assertion': '<(observed_value_must_equal_expected_value)', + }], + ], + }, + ], +} diff --git a/third_party/python/gyp/test/variables/commands/test.py b/third_party/python/gyp/test/variables/commands/test.py new file mode 100644 index 0000000000..eb64f95383 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/test.py @@ -0,0 +1,7 @@ +# Copyright (c) 2017 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. + +from __future__ import print_function + +print("sample\\path\\foo.cpp") diff --git a/third_party/python/gyp/test/variables/commands/update_golden b/third_party/python/gyp/test/variables/commands/update_golden new file mode 100755 index 0000000000..4fcf1eb961 --- /dev/null +++ b/third_party/python/gyp/test/variables/commands/update_golden @@ -0,0 +1,11 @@ +#!/bin/bash + +# 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. + +python ../../../gyp --debug variables --format gypd --depth . commands.gyp > commands.gyp.stdout +python ../../../gyp --ignore-environment --debug variables --format gypd --depth . commands.gyp > commands.gyp.ignore-env.stdout +cp -f commands.gypd commands.gypd.golden +python ../../../gyp --debug variables --format gypd --depth . commands-repeated.gyp > commands-repeated.gyp.stdout +cp -f commands-repeated.gypd commands-repeated.gypd.golden diff --git a/third_party/python/gyp/test/variables/empty/empty.gyp b/third_party/python/gyp/test/variables/empty/empty.gyp new file mode 100644 index 0000000000..207be06fe7 --- /dev/null +++ b/third_party/python/gyp/test/variables/empty/empty.gyp @@ -0,0 +1,13 @@ +# Copyright (c) 2015 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': ['empty.gypi'], + 'targets': [ + { + 'target_name': 'empty', + 'type': 'none', + }, + ], +} diff --git a/third_party/python/gyp/test/variables/empty/empty.gypi b/third_party/python/gyp/test/variables/empty/empty.gypi new file mode 100644 index 0000000000..e95031fca5 --- /dev/null +++ b/third_party/python/gyp/test/variables/empty/empty.gypi @@ -0,0 +1,9 @@ +# Copyright (c) 2015 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': { + '': '', + }, +} diff --git a/third_party/python/gyp/test/variables/empty/gyptest-empty.py b/third_party/python/gyp/test/variables/empty/gyptest-empty.py new file mode 100755 index 0000000000..4cbe166fdc --- /dev/null +++ b/third_party/python/gyp/test/variables/empty/gyptest-empty.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python + +# Copyright (c) 2015 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. + +""" +Test that empty variable names don't cause infinite loops. +""" + +import os + +import TestGyp + +test = TestGyp.TestGyp() + +test.run_gyp('empty.gyp') + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/filelist/filelist.gyp.stdout b/third_party/python/gyp/test/variables/filelist/filelist.gyp.stdout new file mode 100644 index 0000000000..595a19c684 --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/filelist.gyp.stdout @@ -0,0 +1,26 @@ +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names.txt <@(names', 'is_array': '', 'replace': '<|(names.txt <@(names)', 'type': '<|', 'command_string': None} +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names', 'is_array': '', 'replace': '<@(names)', 'type': '<@', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'names.txt John Jacob Jingleheimer Schmidt', recursing. +VARIABLES:input.py:797:ExpandVariables Found output 'names.txt', recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names_listfile', 'is_array': '', 'replace': '<(names_listfile)', 'type': '<', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'names.txt', recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names_listfile', 'is_array': '', 'replace': '<(names_listfile)', 'type': '<', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'names.txt', recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'cat <(names_listfile', 'is_array': '', 'replace': '<!@(cat <(names_listfile)', 'type': '<!@', 'command_string': None} +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names_listfile', 'is_array': '', 'replace': '<(names_listfile)', 'type': '<', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'cat names.txt', recursing. +VARIABLES:input.py:676:ExpandVariables Executing command 'cat names.txt' in directory 'src' +VARIABLES:input.py:797:ExpandVariables Found output ['John', 'Jacob', 'Jingleheimer', 'Schmidt'], recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources.txt <@(_sources', 'is_array': '', 'replace': '<|(sources.txt <@(_sources)', 'type': '<|', 'command_string': None} +VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_sources', 'is_array': '', 'replace': '<@(_sources)', 'type': '<@', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt John Jacob Jingleheimer Schmidt', recursing. +VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt', recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources_listfile', 'is_array': '', 'replace': '<(sources_listfile)', 'type': '<', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt', recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources_listfile', 'is_array': '', 'replace': '<(sources_listfile)', 'type': '<', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt', recursing. +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'cat <(sources_listfile', 'is_array': '', 'replace': '<!@(cat <(sources_listfile)', 'type': '<!@', 'command_string': None} +VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources_listfile', 'is_array': '', 'replace': '<(sources_listfile)', 'type': '<', 'command_string': None} +VARIABLES:input.py:797:ExpandVariables Found output 'cat sources.txt', recursing. +VARIABLES:input.py:676:ExpandVariables Executing command 'cat sources.txt' in directory 'src' +VARIABLES:input.py:797:ExpandVariables Found output ['John', 'Jacob', 'Jingleheimer', 'Schmidt'], recursing. diff --git a/third_party/python/gyp/test/variables/filelist/filelist.gypd.golden b/third_party/python/gyp/test/variables/filelist/filelist.gypd.golden new file mode 100644 index 0000000000..09d9116047 --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/filelist.gypd.golden @@ -0,0 +1,43 @@ +{'_DEPTH': '.', + 'included_files': ['filelist.gyp'], + 'targets': [{'actions': [{'action': ['python', 'dummy.py', 'names.txt'], + 'action_name': 'test_action', + 'inputs': ['names.txt', + 'John', + 'Jacob', + 'Jingleheimer', + 'Schmidt'], + 'outputs': ['dummy_foo']}], + 'configurations': {'Default': {}}, + 'default_configuration': 'Default', + 'target_name': 'foo', + 'toolset': 'target', + 'type': 'none', + 'variables': {'names_listfile': 'names.txt'}}, + {'actions': [{'action': ['python', 'dummy.py', 'sources.txt'], + 'action_name': 'test_action', + 'inputs': ['sources.txt', + 'John', + 'Jacob', + 'Jingleheimer', + 'Schmidt'], + 'outputs': ['dummy_foo']}], + 'configurations': {'Default': {}}, + 'default_configuration': 'Default', + 'sources': ['John', 'Jacob', 'Jingleheimer', 'Schmidt'], + 'sources_excluded': ['Astor', 'Jerome', 'Schultz'], + 'target_name': 'bar', + 'toolset': 'target', + 'type': 'none', + 'variables': {'sources_listfile': 'sources.txt'}}], + 'variables': {'names': ['John', + 'Jacob', + 'Astor', + 'Jingleheimer', + 'Jerome', + 'Schmidt', + 'Schultz'], + 'names!': ['Astor'], + 'names/': [['exclude', 'Sch.*'], + ['include', '.*dt'], + ['exclude', 'Jer.*']]}} diff --git a/third_party/python/gyp/test/variables/filelist/gyptest-filelist-golden.py b/third_party/python/gyp/test/variables/filelist/gyptest-filelist-golden.py new file mode 100644 index 0000000000..3ddc6698f8 --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/gyptest-filelist-golden.py @@ -0,0 +1,53 @@ +#!/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. + +""" +Test variable expansion of '<|(list.txt ...)' syntax commands. +""" + +from __future__ import print_function + +import os +import sys + +import TestGyp + +test = TestGyp.TestGyp(format='gypd') + +expect = test.read('filelist.gyp.stdout') +if sys.platform == 'win32': + expect = expect.replace('/', r'\\').replace('\r\n', '\n') + +test.run_gyp('src/filelist.gyp', + '--debug', 'variables', + stdout=expect, ignore_line_numbers=True) + +# Verify the filelist.gypd against the checked-in expected contents. +# +# Normally, we should canonicalize line endings in the expected +# contents file setting the Subversion svn:eol-style to native, +# but that would still fail if multiple systems are sharing a single +# workspace on a network-mounted file system. Consequently, we +# massage the Windows line endings ('\r\n') in the output to the +# checked-in UNIX endings ('\n'). + +contents = test.read('src/filelist.gypd').replace( + '\r', '').replace('\\\\', '/') +expect = test.read('filelist.gypd.golden').replace('\r', '') +if not test.match(contents, expect): + print("Unexpected contents of `src/filelist.gypd'") + test.diff(expect, contents, 'src/filelist.gypd ') + test.fail_test() + +contents = test.read('src/names.txt') +expect = 'John\nJacob\nJingleheimer\nSchmidt\n' +if not test.match(contents, expect): + print("Unexpected contents of `src/names.txt'") + test.diff(expect, contents, 'src/names.txt ') + test.fail_test() + +test.pass_test() + diff --git a/third_party/python/gyp/test/variables/filelist/gyptest-filelist.py b/third_party/python/gyp/test/variables/filelist/gyptest-filelist.py new file mode 100755 index 0000000000..b12084c21c --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/gyptest-filelist.py @@ -0,0 +1,29 @@ +#!/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. + +""" +Test variable expansion of '<|(list.txt ...)' syntax commands. +""" + +import os +import sys + +import TestGyp + +test = TestGyp.TestGyp() + +CHDIR = 'src' +test.run_gyp('filelist2.gyp', chdir=CHDIR) + +test.build('filelist2.gyp', 'foo', chdir=CHDIR) +contents = test.read('src/dummy_foo').replace('\r', '') +expect = 'John\nJacob\nJingleheimer\nSchmidt\n' +if not test.match(contents, expect): + print("Unexpected contents of `src/dummy_foo'") + test.diff(expect, contents, 'src/dummy_foo') + test.fail_test() + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/filelist/src/dummy.py b/third_party/python/gyp/test/variables/filelist/src/dummy.py new file mode 100644 index 0000000000..e41fc9f8e4 --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/src/dummy.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import sys + +open(sys.argv[1], 'w').write(open(sys.argv[2]).read()) diff --git a/third_party/python/gyp/test/variables/filelist/src/filelist.gyp b/third_party/python/gyp/test/variables/filelist/src/filelist.gyp new file mode 100644 index 0000000000..df48eb3e4a --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/src/filelist.gyp @@ -0,0 +1,93 @@ +# 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. + +# This is a test to make sure that <|(foo.txt a b c) generates +# a pre-calculated file list at gyp time and returns foo.txt. +# This feature is useful to work around limits in the number of arguments that +# can be passed to rule/action. + +{ + 'variables': { + 'names': [ + 'John', + 'Jacob', + 'Astor', + 'Jingleheimer', + 'Jerome', + 'Schmidt', + 'Schultz', + ], + 'names!': [ + 'Astor', + ], + 'names/': [ + ['exclude', 'Sch.*'], + ['include', '.*dt'], + ['exclude', 'Jer.*'], + ], + }, + 'targets': [ + { + 'target_name': 'foo', + 'type': 'none', + 'variables': { + 'names_listfile': '<|(names.txt <@(names))', + }, + 'actions': [ + { + 'action_name': 'test_action', + 'inputs' : [ + '<(names_listfile)', + '<!@(cat <(names_listfile))', + ], + 'outputs': [ + 'dummy_foo', + ], + 'action': [ + 'python', 'dummy.py', '<(names_listfile)', + ], + }, + ], + }, + { + 'target_name': 'bar', + 'type': 'none', + 'sources': [ + 'John', + 'Jacob', + 'Astor', + 'Jingleheimer', + 'Jerome', + 'Schmidt', + 'Schultz', + ], + 'sources!': [ + 'Astor', + ], + 'sources/': [ + ['exclude', 'Sch.*'], + ['include', '.*dt'], + ['exclude', 'Jer.*'], + ], + 'variables': { + 'sources_listfile': '<|(sources.txt <@(_sources))', + }, + 'actions': [ + { + 'action_name': 'test_action', + 'inputs' : [ + '<(sources_listfile)', + '<!@(cat <(sources_listfile))', + ], + 'outputs': [ + 'dummy_foo', + ], + 'action': [ + 'python', 'dummy.py', '<(sources_listfile)', + ], + }, + ], + }, + ], +} diff --git a/third_party/python/gyp/test/variables/filelist/src/filelist2.gyp b/third_party/python/gyp/test/variables/filelist/src/filelist2.gyp new file mode 100644 index 0000000000..ec215dbb76 --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/src/filelist2.gyp @@ -0,0 +1,40 @@ +# Copyright (c) 2013 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. + +# This is a test to make sure that <|(foo.txt a b c) generates +# a pre-calculated file list at gyp time and returns foo.txt. +# This feature is useful to work around limits in the number of arguments that +# can be passed to rule/action. + +{ + 'variables': { + 'names': [ + 'John', + 'Jacob', + 'Jingleheimer', + 'Schmidt', + ], + }, + 'targets': [ + { + 'target_name': 'foo', + 'type': 'none', + 'variables': { + 'names_listfile': '<|(names.txt <@(names))', + }, + 'actions': [ + { + 'action_name': 'test_action', + 'msvs_cygwin_shell': 0, + 'inputs' : [ '<(names_listfile)' ], + 'outputs': [ 'dummy_foo' ], + 'action': [ + 'python', 'dummy.py', '<@(_outputs)', '<(names_listfile)', + ], + }, + ], + }, + ], +} + diff --git a/third_party/python/gyp/test/variables/filelist/update_golden b/third_party/python/gyp/test/variables/filelist/update_golden new file mode 100755 index 0000000000..b4d489a342 --- /dev/null +++ b/third_party/python/gyp/test/variables/filelist/update_golden @@ -0,0 +1,8 @@ +#!/bin/bash + +# 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. + +python ../../../gyp --debug variables --debug general --format gypd --depth . src/filelist.gyp > filelist.gyp.stdout +cp -f src/filelist.gypd filelist.gypd.golden diff --git a/third_party/python/gyp/test/variables/latelate/gyptest-latelate.py b/third_party/python/gyp/test/variables/latelate/gyptest-latelate.py new file mode 100755 index 0000000000..2d77dfec5e --- /dev/null +++ b/third_party/python/gyp/test/variables/latelate/gyptest-latelate.py @@ -0,0 +1,25 @@ +#!/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 that ^(latelate) style variables work. +""" + +import TestGyp + +test = TestGyp.TestGyp() + +test.run_gyp('latelate.gyp', chdir='src') + +test.relocate('src', 'relocate/src') + +test.build('latelate.gyp', test.ALL, chdir='relocate/src') + +test.run_built_executable( + 'program', chdir='relocate/src', stdout='program.cc\n') + + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/latelate/src/latelate.gyp b/third_party/python/gyp/test/variables/latelate/src/latelate.gyp new file mode 100644 index 0000000000..312f3765b6 --- /dev/null +++ b/third_party/python/gyp/test/variables/latelate/src/latelate.gyp @@ -0,0 +1,34 @@ +# 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. + +{ + 'target_defaults': { + 'target_conditions': [ + ['has_lame==1', { + 'sources/': [ + ['exclude', 'lame'], + ], + }], + ], + }, + 'targets': [ + { + 'target_name': 'program', + 'type': 'executable', + 'variables': { + 'has_lame': 1, + }, + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)', + ], + 'defines': [ + 'FOO="^(_sources)"', + ], + 'sources': [ + 'program.cc', + 'this_is_lame.cc', + ], + }, + ], +} diff --git a/third_party/python/gyp/test/variables/latelate/src/program.cc b/third_party/python/gyp/test/variables/latelate/src/program.cc new file mode 100644 index 0000000000..97c98ae5b9 --- /dev/null +++ b/third_party/python/gyp/test/variables/latelate/src/program.cc @@ -0,0 +1,13 @@ +/* + * 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. + */ + +#include <stdio.h> + + +int main(void) { + printf(FOO "\n"); + return 0; +} diff --git a/third_party/python/gyp/test/variables/variable-in-path/C1/hello.cc b/third_party/python/gyp/test/variables/variable-in-path/C1/hello.cc new file mode 100644 index 0000000000..1711567ef5 --- /dev/null +++ b/third_party/python/gyp/test/variables/variable-in-path/C1/hello.cc @@ -0,0 +1,7 @@ +// 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. + +int main() { + return 0; +} diff --git a/third_party/python/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py b/third_party/python/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py new file mode 100644 index 0000000000..b73a279da7 --- /dev/null +++ b/third_party/python/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py @@ -0,0 +1,23 @@ +#!/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. + +""" +Make sure <(CONFIGURATION_NAME) variable is correctly expanded. +""" + +import TestGyp + +import sys + +test = TestGyp.TestGyp() +test.set_configuration('C1') + +test.run_gyp('variable-in-path.gyp') +test.build('variable-in-path.gyp', 'hello1') +test.build('variable-in-path.gyp', 'hello2') + + +test.pass_test() diff --git a/third_party/python/gyp/test/variables/variable-in-path/variable-in-path.gyp b/third_party/python/gyp/test/variables/variable-in-path/variable-in-path.gyp new file mode 100644 index 0000000000..908d21eb66 --- /dev/null +++ b/third_party/python/gyp/test/variables/variable-in-path/variable-in-path.gyp @@ -0,0 +1,31 @@ +# Copyright (c) 2010 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': 'hello1', + 'type': 'executable', + 'sources': [ + '<(CONFIGURATION_NAME)/hello.cc', + ], + }, + { + 'target_name': 'hello2', + 'type': 'executable', + 'sources': [ + './<(CONFIGURATION_NAME)/hello.cc', + ], + }, + ], + 'target_defaults': { + 'default_configuration': 'C1', + 'configurations': { + 'C1': { + }, + 'C2': { + }, + }, + }, +} |