Theo Buehler writes:

> I needed gyp to test something and it turns out that it's broken since
> at least the Python 3.8 -> 3.9 transition:
>
>     AttributeError: module 'collections' has no attribute 'MutableSet'
>
> Upstream has some fixes and the below worked well enough for my purposes.
>
> Tests hang here:
>
> [249/356] (ninja)
> test/variables/commands/gyptest-commands-ignore-env.py

This is resolved by updating expected output files. input.py has changed
but the expected test output became outdated.

>
> and once tests were run, 'make clean' fails with permission errors.

Some tests want to turn write permissions false, run the test, and turn
write permissions true. This results in directories without write bits
and `make clean' fails. The new for loops use sed to avoid toggling
write permissions altogether.

>
> If anyone wants to pick this up and push it over the line, they are most
> welcome to do so. I have no real interest in this.

Here is an diff resolving these issues. However, 3 remaining tests fail
and we should not care.

--8<---------------cut here---------------start------------->8---
Failed the following 3 tests:
        (test/dependencies/gyptest-sharedlib-linksettings.py) ninja
        (test/errors/gyptest-errors.py) ninja
        (test/library/gyptest-shared.py) ninja
        
$ doas -u _pbuild python3 ./gyptest.py test/library/gyptest-shared.py           
                                 
Ran 1 tests in 3.290s, 0 failed.

doas -u _pbuild python3 ./gyptest.py 
test/variables/commands/gyptest-commands-ignore-env.py
Ran 1 tests in 0.498s, 0 failed.
--8<---------------cut here---------------end--------------->8---

The failing part of gyptest-errors.py detects a cycle in
dependencies. It sometimes prints 0 -> 1 -> 0 or 1 -> 0 -> 1. I updated
the output to match the new input.py, as noted in the patch, but it will
still fail sometimes.

library/gyptest-shared.py and
test/dependencies/gyptest-sharedlib-linksettings fail because in the
test area the compiled test program cannot find a shared library in the
lib/ folder.

A hack like this defining LD_DEBUG_PATH works:
https://namtsui.com/public/gyp.txt

However, other tests start failing. Manually running these two tests
passes after applying this hack so that the program can find the lib/
directory. See the cut here snippet. I suggest not bothering.

> All consumers go via
> lang/v8, which has been broken since the clang 13 transition, so I
> suspect I'm not alone...

I did not test much as v8 is marked BROKEN.

OK?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/gyp/Makefile,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 Makefile
--- Makefile    14 Nov 2022 17:16:53 -0000      1.14
+++ Makefile    5 Mar 2023 06:02:28 -0000
@@ -2,10 +2,9 @@ COMMENT= generate SCons/Makefiles from p
 
 GH_ACCOUNT=    chromium
 GH_PROJECT=    gyp
-GH_COMMIT=     caa60026e223fc501e8b337fd5086ece4028b1c6
+GH_COMMIT=     9d09418933ea2f75cc416e5ce38d15f62acd5c9a
 
-DISTNAME=      gyp-0.20200512
-REVISION=      2
+DISTNAME=      gyp-0.20220714
 
 CATEGORIES=    devel
 
@@ -23,6 +22,16 @@ pre-configure:
 
 do-test:
        ln -fs ${MODPY_BIN} ${WRKDIR}/bin/python
+       # tests temporarily toggle write permissions, but this disrupts `make 
clean'.
+       # avoid toggling altogether.
+.for l in default all
+       sed -ie "s;\(test\.writable(.*\)False);\1True);" \
+               ${WRKSRC}/test/builddir/gyptest-${l}.py
+.endfor
+.for l in depth actions mac-bundle relocate copies rules subdir2-deep symlink 
top-all
+       sed -ie "s;\(test\.writable(.*\)False);\1True);" \
+               ${WRKSRC}/test/generator-output/gyptest-${l}.py
+.endfor
        cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MODPY_BIN} gyptest.py -a
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/gyp/distinfo,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 distinfo
--- distinfo    27 Feb 2021 21:09:36 -0000      1.3
+++ distinfo    5 Mar 2023 06:02:28 -0000
@@ -1,2 +1,2 @@
-SHA256 (gyp-0.20200512-caa60026.tar.gz) = 
m0Q8V6tBZv0JhEzn2R0ePQtMcFEoXWZApvT9D6jZNvQ=
-SIZE (gyp-0.20200512-caa60026.tar.gz) = 630532
+SHA256 (gyp-0.20220714-9d094189.tar.gz) = 
XE35KMoHL6v8wk9JfWXwk9RqkQKartQHUxkE/bmmvxE=
+SIZE (gyp-0.20220714-9d094189.tar.gz) = 630527
Index: patches/patch-gyp
===================================================================
RCS file: /cvs/ports/devel/gyp/patches/patch-gyp,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-gyp
--- patches/patch-gyp   11 Mar 2022 18:50:11 -0000      1.2
+++ patches/patch-gyp   5 Mar 2023 06:02:28 -0000
@@ -1,9 +1,12 @@
 Index: gyp
 --- gyp.orig
 +++ gyp
-@@ -5,4 +5,4 @@
+@@ -5,7 +5,7 @@
  
- set -e
+ set -eu
  base=$(dirname "$0")
--exec python "${base}/gyp_main.py" "$@"
+-if type python3 >& /dev/null; then
 +exec ${MODPY_BIN} "${base}/gyp_main.py" "$@"
+   python=python3
+ else
+   python=python
Index: patches/patch-pylib_gyp_input_py
===================================================================
RCS file: patches/patch-pylib_gyp_input_py
diff -N patches/patch-pylib_gyp_input_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-pylib_gyp_input_py    5 Mar 2023 06:02:28 -0000
@@ -0,0 +1,12 @@
+Index: pylib/gyp/input.py
+--- pylib/gyp/input.py.orig
++++ pylib/gyp/input.py
+@@ -1183,7 +1183,7 @@ def LoadVariablesFromVariablesDict(variables, the_dict
+       if variable_name in variables:
+         # If the variable is already set, don't set it.
+         continue
+-      if the_dict_key is 'variables' and variable_name in the_dict:
++      if the_dict_key == 'variables' and variable_name in the_dict:
+         # If the variable is set without a % in the_dict, and the_dict is a
+         # variables dict (making |variables| a varaibles sub-dict of a
+         # variables dict), use the_dict's definition.
Index: patches/patch-test_errors_gyptest-errors_py
===================================================================
RCS file: patches/patch-test_errors_gyptest-errors_py
diff -N patches/patch-test_errors_gyptest-errors_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_errors_gyptest-errors_py 5 Mar 2023 06:02:28 -0000
@@ -0,0 +1,17 @@
+update cycle-detection expected test output from input.py. it still
+sometimes fails because cycle detection alternates between printing
+0 -> 1 -> 0 and 1 -> 0 -> 1
+
+Index: test/errors/gyptest-errors.py
+--- test/errors/gyptest-errors.py.orig
++++ test/errors/gyptest-errors.py
+@@ -43,7 +43,8 @@ stderr = (".*target0.*target1.*target2.*target0.*")
+ test.run_gyp('dependency_cycle.gyp', status=1, stderr=stderr,
+              match=TestCmd.match_re_dotall)
+ 
+-stderr = (".*file_cycle0.*file_cycle1.*file_cycle0.*")
++stderr = ("gyp: Cycles in .gyp file dependency graph detected:\n"
++          "Cycle: file_cycle0.gyp -> file_cycle1.gyp -> file_cycle0.gyp")
+ test.run_gyp('file_cycle0.gyp', status=1, stderr=stderr,
+              match=TestCmd.match_re_dotall)
+ 
Index: patches/patch-test_lib_TestCmd_py
===================================================================
RCS file: patches/patch-test_lib_TestCmd_py
diff -N patches/patch-test_lib_TestCmd_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_lib_TestCmd_py   5 Mar 2023 06:02:28 -0000
@@ -0,0 +1,12 @@
+Index: test/lib/TestCmd.py
+--- test/lib/TestCmd.py.orig
++++ test/lib/TestCmd.py
+@@ -882,7 +882,7 @@ class TestCmd(object):
+                 #self.diff_function = difflib.unified_diff
+         self._dirlist = []
+         self._preserve = {'pass_test': 0, 'fail_test': 0, 'no_result': 0}
+-        if 'PRESERVE' in os.environ and os.environ['PRESERVE'] is not '':
++        if 'PRESERVE' in os.environ and os.environ['PRESERVE'] != '':
+             self._preserve['pass_test'] = os.environ['PRESERVE']
+             self._preserve['fail_test'] = os.environ['PRESERVE']
+             self._preserve['no_result'] = os.environ['PRESERVE']
Index: patches/patch-test_library_dirs_subdir_test_gyp
===================================================================
RCS file: patches/patch-test_library_dirs_subdir_test_gyp
diff -N patches/patch-test_library_dirs_subdir_test_gyp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_library_dirs_subdir_test_gyp     5 Mar 2023 06:02:28 
-0000
@@ -0,0 +1,12 @@
+Index: test/library_dirs/subdir/test.gyp
+--- test/library_dirs/subdir/test.gyp.orig
++++ test/library_dirs/subdir/test.gyp
+@@ -52,7 +52,7 @@
+       ],
+       'link_settings': {
+         'conditions': [
+-          ['OS=="linux"', {
++          ['OS=="openbsd"', {
+             'libraries': [
+               '-lmylib',
+             ],
Index: patches/patch-test_module_src_module_gyp
===================================================================
RCS file: patches/patch-test_module_src_module_gyp
diff -N patches/patch-test_module_src_module_gyp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_module_src_module_gyp    5 Mar 2023 06:02:28 -0000
@@ -0,0 +1,15 @@
+Index: test/module/src/module.gyp
+--- test/module/src/module.gyp.orig
++++ test/module/src/module.gyp
+@@ -17,6 +17,11 @@
+         'cflags': ['-fPIC'],
+         'libraries': ['-ldl'],
+       }],
++      ['OS=="openbsd"', {
++        'defines': ['PLATFORM_LINUX'],
++        # Support 64-bit shared libs (also works fine for 32-bit).
++        'cflags': ['-fPIC'],
++      }],
+     ],
+   },
+   'targets': [
Index: patches/patch-test_variables_commands_commands-repeated_gyp_stdout
===================================================================
RCS file: patches/patch-test_variables_commands_commands-repeated_gyp_stdout
diff -N patches/patch-test_variables_commands_commands-repeated_gyp_stdout
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_variables_commands_commands-repeated_gyp_stdout  5 Mar 
2023 06:02:28 -0000
@@ -0,0 +1,277 @@
+sync expected test output with input.py
+Index: test/variables/commands/commands-repeated.gyp.stdout
+--- test/variables/commands/commands-repeated.gyp.stdout.orig
++++ test/variables/commands/commands-repeated.gyp.stdout
+@@ -1,136 +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.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(other_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'other_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output 
'<(letters_list)EFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFG', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(included_variable)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'included_variable'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'XYZ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(included_variable)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'included_variable'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'XYZ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(third_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'third_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output '<(other_letters)HIJK', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(other_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'other_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output 
'<(letters_list)EFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(["python", 
"-c", "<(pi)', 'type': '<!', 'command_string': None, 'is_array': '[', 
'content': '"python", "-c", "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output '["python", "-c", 
"import math; print(math.pi)"]', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command '['python', '-c', 
'import math; print(math.pi)']' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None, 
'is_array': '', 'content': 'python -c "print(\'<!(python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"<(pi)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c "import math; 
print(math.pi)"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c "import 
math; print(math.pi)"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'3.141592653589793 ABCD\')"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('3.141592653589793 ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<(letters_list)', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'<(letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'ABCD\')"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(<!(python -c 
"print(\'letters_list\')', 'type': '<', 'command_string': None, 'is_array': '', 
'content': '<!(python -c "print(\'letters_list\''}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'letters_list\')', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'letters_list\''}
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('letters_list')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(check_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'check_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '5', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(check_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'check_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '5blah', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(check_str_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'check_str_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '6', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(check_list_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'check_list_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '7 8 9', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_1)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_1'}
++VARIABLES:input.py:1015:ExpandVariables Found output ' 10', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '11 ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_3)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_3'}
++VARIABLES:input.py:1015:ExpandVariables Found output '012', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_4'}
++VARIABLES:input.py:1015:ExpandVariables Found output '13.0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_5'}
++VARIABLES:input.py:1015:ExpandVariables Found output '+14', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(negative_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'negative_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '-15', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(zero_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'zero_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(["python", 
"-c", "<(pi)', 'type': '<!', 'command_string': None, 'is_array': '[', 
'content': '"python", "-c", "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output '["python", "-c", 
"import math; print(math.pi)"]', recursing.
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 
'['python', '-c', 'import math; print(math.pi)']' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None, 
'is_array': '', 'content': 'python -c "print(\'<!(python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"<(pi)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c "import math; 
print(math.pi)"', recursing.
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'python -c 
"import math; print(math.pi)"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'3.141592653589793 ABCD\')"', recursing.
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'python -c 
"print('3.141592653589793 ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<(letters_list)', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'<(letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'ABCD\')"', recursing.
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'python -c 
"print('ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(<!(python -c 
"print(\'letters_list\')', 'type': '<', 'command_string': None, 'is_array': '', 
'content': '<!(python -c "print(\'letters_list\''}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'letters_list\')', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'letters_list\''}
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'python -c 
"print('letters_list')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<@(check_list_int)', 'type': '<@', 'command_string': None, 'is_array': '', 
'content': 'check_list_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output [7, 8, 9], recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var6)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var6'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(echo 
<(var5)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'echo <(var5'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var5'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'echo letters_list', 
recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'echo letters_list' 
in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var4'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var7)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var7'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_inputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_inputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output '"3.141592653589793 
ABCD"', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_outputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_outputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var6)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var6'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(echo 
<(var5)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'echo <(var5'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var5'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'echo letters_list', 
recursing.
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'echo 
letters_list' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var4'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var7)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var7'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_inputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_inputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output '"3.141592653589793 
ABCD"', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_outputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_outputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var6)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var6'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(echo 
<(var5)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'echo <(var5'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var5'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'echo letters_list', 
recursing.
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'echo 
letters_list' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var2prime)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var2prime'}
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var4prime)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var4prime'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var7)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var7'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_inputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_inputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output '"3.141592653589793 
ABCD"', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_outputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_outputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD letters_list', 
recursing.
Index: patches/patch-test_variables_commands_commands-repeated_gypd_golden
===================================================================
RCS file: patches/patch-test_variables_commands_commands-repeated_gypd_golden
diff -N patches/patch-test_variables_commands_commands-repeated_gypd_golden
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_variables_commands_commands-repeated_gypd_golden 5 Mar 
2023 06:02:28 -0000
@@ -0,0 +1,58 @@
+sync expected test output with input.py
+
+Index: test/variables/commands/commands-repeated.gypd.golden
+--- test/variables/commands/commands-repeated.gypd.golden.orig
++++ test/variables/commands/commands-repeated.gypd.golden
+@@ -1,24 +1,24 @@
+ {'_DEPTH': '.',
+  'included_files': ['commands-repeated.gyp', 'commands.gypi'],
+  'targets': [{'actions': [{'action': ['echo',
+-                                      '"3.14159265359 ABCD"',
++                                      '"3.141592653589793 ABCD"',
+                                       'ABCD letters_list'],
+                            'action_name': 'test_action',
+-                           'inputs': ['3.14159265359 ABCD'],
++                           'inputs': ['3.141592653589793 ABCD'],
+                            'outputs': ['ABCD', 'letters_list'],
+                            'variables': {'var7': 'letters_list'}},
+                           {'action': ['echo',
+-                                      '"3.14159265359 ABCD"',
++                                      '"3.141592653589793 ABCD"',
+                                       'ABCD letters_list'],
+                            'action_name': 'test_action_prime',
+-                           'inputs': ['3.14159265359 ABCD'],
++                           'inputs': ['3.141592653589793 ABCD'],
+                            'outputs': ['ABCD', 'letters_list'],
+                            'variables': {'var7': 'letters_list'}},
+                           {'action': ['echo',
+-                                      '"3.14159265359 ABCD"',
++                                      '"3.141592653589793 ABCD"',
+                                       'ABCD letters_list'],
+                            'action_name': 'test_action_prime_prime',
+-                           'inputs': ['3.14159265359 ABCD'],
++                           'inputs': ['3.141592653589793 ABCD'],
+                            'outputs': ['ABCD', 'letters_list'],
+                            'variables': {'var7': 'letters_list'}}],
+               'configurations': {'Default': {}},
+@@ -26,7 +26,7 @@
+               'target_name': 'foo',
+               'toolset': 'target',
+               'type': 'none',
+-              'variables': {'var1': '3.14159265359',
++              'variables': {'var1': '3.141592653589793',
+                             'var10': '7 8 9',
+                             'var11': ['7', '8', '9'],
+                             'var12': ' 10',
+@@ -36,9 +36,9 @@
+                             'var16': '+14',
+                             'var17': '-15',
+                             'var18': '0',
+-                            'var1prime': '3.14159265359',
+-                            'var2': '3.14159265359 ABCD',
+-                            'var2prime': '3.14159265359 ABCD',
++                            'var1prime': '3.141592653589793',
++                            'var2': '3.141592653589793 ABCD',
++                            'var2prime': '3.141592653589793 ABCD',
+                             'var3': 'ABCD',
+                             'var3prime': 'ABCD',
+                             'var4': 'ABCD',
Index: patches/patch-test_variables_commands_commands_gyp_ignore-env_stdout
===================================================================
RCS file: patches/patch-test_variables_commands_commands_gyp_ignore-env_stdout
diff -N patches/patch-test_variables_commands_commands_gyp_ignore-env_stdout
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_variables_commands_commands_gyp_ignore-env_stdout        
5 Mar 2023 06:02:28 -0000
@@ -0,0 +1,198 @@
+sync expected test output with input.py
+
+Index: test/variables/commands/commands.gyp.ignore-env.stdout
+--- test/variables/commands/commands.gyp.ignore-env.stdout.orig
++++ test/variables/commands/commands.gyp.ignore-env.stdout
+@@ -1,96 +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.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(other_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'other_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output 
'<(letters_list)EFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFG', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(included_variable)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'included_variable'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'XYZ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(included_variable)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'included_variable'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'XYZ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(third_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'third_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output '<(other_letters)HIJK', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(other_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'other_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output 
'<(letters_list)EFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(["python", 
"-c", "<(pi)', 'type': '<!', 'command_string': None, 'is_array': '[', 
'content': '"python", "-c", "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output '["python", "-c", 
"import math; print(math.pi)"]', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command '['python', '-c', 
'import math; print(math.pi)']' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None, 
'is_array': '', 'content': 'python -c "print(\'<!(python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"<(pi)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c "import math; 
print(math.pi)"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c "import 
math; print(math.pi)"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'3.141592653589793 ABCD\')"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('3.141592653589793 ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<(letters_list)', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'<(letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'ABCD\')"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(<!(python -c 
"print(\'letters_list\')', 'type': '<', 'command_string': None, 'is_array': '', 
'content': '<!(python -c "print(\'letters_list\''}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'letters_list\')', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'letters_list\''}
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('letters_list')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(check_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'check_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '5', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(check_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'check_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '5blah', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(check_str_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'check_str_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '6', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(check_list_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'check_list_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '7 8 9', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_1)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_1'}
++VARIABLES:input.py:1015:ExpandVariables Found output ' 10', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '11 ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_3)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_3'}
++VARIABLES:input.py:1015:ExpandVariables Found output '012', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_4'}
++VARIABLES:input.py:1015:ExpandVariables Found output '13.0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_5'}
++VARIABLES:input.py:1015:ExpandVariables Found output '+14', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(negative_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'negative_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '-15', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(zero_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'zero_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python 
test.py)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'python test.py'}
++VARIABLES:input.py:878:ExpandVariables Executing command 'python test.py' in 
directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'sample\\path\\foo.cpp', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(default_str)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'default_str'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'my_str', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(default_empty_str)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'default_empty_str'}
++VARIABLES:input.py:1015:ExpandVariables Found output '', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(default_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'default_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(default_empty_files)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'default_empty_files'}
++VARIABLES:input.py:1015:ExpandVariables Found output '', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(default_int_files)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'default_int_files'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<@(check_list_int)', 'type': '<@', 'command_string': None, 'is_array': '', 
'content': 'check_list_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output [7, 8, 9], recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!@(python 
test.py)', 'type': '<!@', 'command_string': None, 'is_array': '', 'content': 
'python test.py'}
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'python 
test.py' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output ['samplepathfoo.cpp'], 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var6)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var6'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(echo 
<(var5)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'echo <(var5'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var5'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'echo letters_list', 
recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'echo letters_list' 
in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var4'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var7)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var7'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_inputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_inputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output '"3.141592653589793 
ABCD"', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_outputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_outputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD letters_list', 
recursing.
Index: patches/patch-test_variables_commands_commands_gyp_stdout
===================================================================
RCS file: patches/patch-test_variables_commands_commands_gyp_stdout
diff -N patches/patch-test_variables_commands_commands_gyp_stdout
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_variables_commands_commands_gyp_stdout   5 Mar 2023 
06:02:28 -0000
@@ -0,0 +1,198 @@
+sync expected test output with input.py
+
+Index: test/variables/commands/commands.gyp.stdout
+--- test/variables/commands/commands.gyp.stdout.orig
++++ test/variables/commands/commands.gyp.stdout
+@@ -1,96 +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.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(other_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'other_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output 
'<(letters_list)EFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFG', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(included_variable)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'included_variable'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'XYZ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(included_variable)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'included_variable'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'XYZ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(third_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'third_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output '<(other_letters)HIJK', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(other_letters)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'other_letters'}
++VARIABLES:input.py:1015:ExpandVariables Found output 
'<(letters_list)EFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(["python", 
"-c", "<(pi)', 'type': '<!', 'command_string': None, 'is_array': '[', 
'content': '"python", "-c", "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output '["python", "-c", 
"import math; print(math.pi)"]', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command '['python', '-c', 
'import math; print(math.pi)']' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<!(python -c "<(pi)', 'type': '<!', 'command_string': None, 
'is_array': '', 'content': 'python -c "print(\'<!(python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"<(pi)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'python -c "<(pi'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(pi)', 'type': 
'<', 'command_string': None, 'is_array': '', 'content': 'pi'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c "import math; 
print(math.pi)"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c "import 
math; print(math.pi)"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'3.141592653589793 ABCD\')"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('3.141592653589793 ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'<(letters_list)', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'<(letters_list'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(letters_list)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'letters_list'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'python -c 
"print(\'ABCD\')"', recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('ABCD')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(<!(python -c 
"print(\'letters_list\')', 'type': '<', 'command_string': None, 'is_array': '', 
'content': '<!(python -c "print(\'letters_list\''}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python -c 
"print(\'letters_list\')', 'type': '<!', 'command_string': None, 'is_array': 
'', 'content': 'python -c "print(\'letters_list\''}
++VARIABLES:input.py:878:ExpandVariables Executing command 'python -c 
"print('letters_list')"' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(check_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'check_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '5', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(check_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'check_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '5blah', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(check_str_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'check_str_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '6', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(check_list_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'check_list_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '7 8 9', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_1)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_1'}
++VARIABLES:input.py:1015:ExpandVariables Found output ' 10', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '11 ', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_3)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_3'}
++VARIABLES:input.py:1015:ExpandVariables Found output '012', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_4'}
++VARIABLES:input.py:1015:ExpandVariables Found output '13.0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(not_int_5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'not_int_5'}
++VARIABLES:input.py:1015:ExpandVariables Found output '+14', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(negative_int)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'negative_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '-15', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(zero_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'zero_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(python 
test.py)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'python test.py'}
++VARIABLES:input.py:878:ExpandVariables Executing command 'python test.py' in 
directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'sample\\path\\foo.cpp', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(default_str)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'default_str'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'my_str', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(default_empty_str)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'default_empty_str'}
++VARIABLES:input.py:1015:ExpandVariables Found output '', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(default_int)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'default_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(default_empty_files)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'default_empty_files'}
++VARIABLES:input.py:1015:ExpandVariables Found output '', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(default_int_files)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'default_int_files'}
++VARIABLES:input.py:1015:ExpandVariables Found output '0', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<@(check_list_int)', 'type': '<@', 'command_string': None, 'is_array': '', 
'content': 'check_list_int'}
++VARIABLES:input.py:1015:ExpandVariables Found output [7, 8, 9], recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!@(python 
test.py)', 'type': '<!@', 'command_string': None, 'is_array': '', 'content': 
'python test.py'}
++VARIABLES:input.py:934:ExpandVariables Had cache value for command 'python 
test.py' in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output ['samplepathfoo.cpp'], 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var6)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var6'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!(echo 
<(var5)', 'type': '<!', 'command_string': None, 'is_array': '', 'content': 
'echo <(var5'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var5)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var5'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'echo letters_list', 
recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'echo letters_list' 
in directory 'None'
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var2)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var2'}
++VARIABLES:input.py:1015:ExpandVariables Found output '3.141592653589793 
ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var4)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var4'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(var7)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': 'var7'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'letters_list', 
recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_inputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_inputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output '"3.141592653589793 
ABCD"', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<(_outputs)', 
'type': '<', 'command_string': None, 'is_array': '', 'content': '_outputs'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'ABCD letters_list', 
recursing.
Index: patches/patch-test_variables_commands_commands_gypd_golden
===================================================================
RCS file: patches/patch-test_variables_commands_commands_gypd_golden
diff -N patches/patch-test_variables_commands_commands_gypd_golden
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_variables_commands_commands_gypd_golden  5 Mar 2023 
06:02:28 -0000
@@ -0,0 +1,36 @@
+sync expected test output with input.py
+
+Index: test/variables/commands/commands.gypd.golden
+--- test/variables/commands/commands.gypd.golden.orig
++++ test/variables/commands/commands.gypd.golden
+@@ -1,10 +1,10 @@
+ {'_DEPTH': '.',
+  'included_files': ['commands.gyp', 'commands.gypi'],
+  'targets': [{'actions': [{'action': ['echo',
+-                                      '"3.14159265359 ABCD"',
++                                      '"3.141592653589793 ABCD"',
+                                       'ABCD letters_list'],
+                            'action_name': 'test_action',
+-                           'inputs': ['3.14159265359 ABCD'],
++                           'inputs': ['3.141592653589793 ABCD'],
+                            'outputs': ['ABCD', 'letters_list'],
+                            'variables': {'var7': 'letters_list'}}],
+               'configurations': {'Default': {}},
+@@ -12,7 +12,7 @@
+               'target_name': 'foo',
+               'toolset': 'target',
+               'type': 'none',
+-              'variables': {'var1': '3.14159265359',
++              'variables': {'var1': '3.141592653589793',
+                             'var10': '7 8 9',
+                             'var11': ['7', '8', '9'],
+                             'var12': ' 10',
+@@ -23,7 +23,7 @@
+                             'var17': '-15',
+                             'var18': '0',
+                             'var19': ['samplepathfoo.cpp'],
+-                            'var2': '3.14159265359 ABCD',
++                            'var2': '3.141592653589793 ABCD',
+                             'var20': 'sample\\path\\foo.cpp',
+                             'var21': 'my_str',
+                             'var22': '',
Index: patches/patch-test_variables_filelist_filelist_gyp_stdout
===================================================================
RCS file: patches/patch-test_variables_filelist_filelist_gyp_stdout
diff -N patches/patch-test_variables_filelist_filelist_gyp_stdout
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-test_variables_filelist_filelist_gyp_stdout   5 Mar 2023 
06:02:28 -0000
@@ -0,0 +1,58 @@
+sync expected test output with input.py
+
+Index: test/variables/filelist/filelist.gyp.stdout
+--- test/variables/filelist/filelist.gyp.stdout.orig
++++ test/variables/filelist/filelist.gyp.stdout
+@@ -1,26 +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.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<|(names.txt 
<@(names)', 'type': '<|', 'command_string': None, 'is_array': '', 'content': 
'names.txt <@(names'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<@(names)', 
'type': '<@', 'command_string': None, 'is_array': '', 'content': 'names'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'names.txt John Jacob 
Jingleheimer Schmidt', recursing.
++VARIABLES:input.py:1015:ExpandVariables Found output 'names.txt', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(names_listfile)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'names_listfile'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'names.txt', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!@(cat 
<(names_listfile)', 'type': '<!@', 'command_string': None, 'is_array': '', 
'content': 'cat <(names_listfile'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(names_listfile)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'names_listfile'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'cat names.txt', 
recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'cat names.txt' in 
directory 'src'
++VARIABLES:input.py:1015:ExpandVariables Found output ['John', 'Jacob', 
'Jingleheimer', 'Schmidt'], recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(names_listfile)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'names_listfile'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'names.txt', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<|(sources.txt 
<@(_sources)', 'type': '<|', 'command_string': None, 'is_array': '', 'content': 
'sources.txt <@(_sources'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<@(_sources)', 
'type': '<@', 'command_string': None, 'is_array': '', 'content': '_sources'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'sources.txt John Jacob 
Jingleheimer Schmidt', recursing.
++VARIABLES:input.py:1015:ExpandVariables Found output 'sources.txt', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(sources_listfile)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'sources_listfile'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'sources.txt', recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': '<!@(cat 
<(sources_listfile)', 'type': '<!@', 'command_string': None, 'is_array': '', 
'content': 'cat <(sources_listfile'}
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(sources_listfile)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'sources_listfile'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'cat sources.txt', 
recursing.
++VARIABLES:input.py:878:ExpandVariables Executing command 'cat sources.txt' in 
directory 'src'
++VARIABLES:input.py:1015:ExpandVariables Found output ['John', 'Jacob', 
'Jingleheimer', 'Schmidt'], recursing.
++VARIABLES:input.py:755:ExpandVariables Matches: {'replace': 
'<(sources_listfile)', 'type': '<', 'command_string': None, 'is_array': '', 
'content': 'sources_listfile'}
++VARIABLES:input.py:1015:ExpandVariables Found output 'sources.txt', recursing.

Reply via email to