1# Copyright (c) 2009 Google Inc. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5# This is a simple test file to make sure that variable substitution 6# happens correctly. Run "run_tests.py" using python to generate the 7# output from this gyp file. 8 9{ 10 'variables': { 11 'pi': 'import math; print math.pi', 12 'third_letters': "<(other_letters)HIJK", 13 'letters_list': 'ABCD', 14 'other_letters': '<(letters_list)EFG', 15 'check_included': '<(included_variable)', 16 'check_lists': [ 17 '<(included_variable)', 18 '<(third_letters)', 19 ], 20 'check_int': 5, 21 'check_str_int': '6', 22 'check_list_int': [ 23 7, 24 '8', 25 9, 26 ], 27 'not_int_1': ' 10', 28 'not_int_2': '11 ', 29 'not_int_3': '012', 30 'not_int_4': '13.0', 31 'not_int_5': '+14', 32 'negative_int': '-15', 33 'zero_int': '0', 34 }, 35 'includes': [ 36 'commands.gypi', 37 ], 38 'targets': [ 39 { 40 'target_name': 'foo', 41 'type': 'none', 42 'variables': { 43 'var1': '<!(["python", "-c", "<(pi)"])', 44 'var2': '<!(python -c "print \'<!(python -c "<(pi)") <(letters_list)\'")', 45 'var3': '<!(python -c "print \'<(letters_list)\'")', 46 'var4': '<(<!(python -c "print \'letters_list\'"))', 47 'var5': 'letters_', 48 'var6': 'list', 49 'var7': '<(check_int)', 50 'var8': '<(check_int)blah', 51 'var9': '<(check_str_int)', 52 'var10': '<(check_list_int)', 53 'var11': ['<@(check_list_int)'], 54 'var12': '<(not_int_1)', 55 'var13': '<(not_int_2)', 56 'var14': '<(not_int_3)', 57 'var15': '<(not_int_4)', 58 'var16': '<(not_int_5)', 59 'var17': '<(negative_int)', 60 'var18': '<(zero_int)', 61 # A second set with different names to make sure they only execute the 62 # commands once. 63 'var1prime': '<!(["python", "-c", "<(pi)"])', 64 'var2prime': '<!(python -c "print \'<!(python -c "<(pi)") <(letters_list)\'")', 65 'var3prime': '<!(python -c "print \'<(letters_list)\'")', 66 'var4prime': '<(<!(python -c "print \'letters_list\'"))', 67 }, 68 'actions': [ 69 { 70 'action_name': 'test_action', 71 'variables': { 72 'var7': '<!(echo <(var5)<(var6))', 73 }, 74 'inputs' : [ 75 '<(var2)', 76 ], 77 'outputs': [ 78 '<(var4)', 79 '<(var7)', 80 ], 81 'action': [ 82 'echo', 83 '<(_inputs)', 84 '<(_outputs)', 85 ], 86 }, 87 # Again with the same vars to make sure the right things happened. 88 { 89 'action_name': 'test_action_prime', 90 'variables': { 91 'var7': '<!(echo <(var5)<(var6))', 92 }, 93 'inputs' : [ 94 '<(var2)', 95 ], 96 'outputs': [ 97 '<(var4)', 98 '<(var7)', 99 ], 100 'action': [ 101 'echo', 102 '<(_inputs)', 103 '<(_outputs)', 104 ], 105 }, 106 # And one more time with the other vars... 107 { 108 'action_name': 'test_action_prime_prime', 109 'variables': { 110 'var7': '<!(echo <(var5)<(var6))', 111 }, 112 'inputs' : [ 113 '<(var2prime)', 114 ], 115 'outputs': [ 116 '<(var4prime)', 117 '<(var7)', 118 ], 119 'action': [ 120 'echo', 121 '<(_inputs)', 122 '<(_outputs)', 123 ], 124 }, 125 ], 126 }, 127 ], 128} 129