From: Eric Pouech epouech@codeweavers.com
Regarding builtin/external invocation and expansion of variables.
Signed-off-by: Eric Pouech epouech@codeweavers.com --- programs/cmd/tests/test_builtins.cmd | 26 ++++++++++++++++++++++++ programs/cmd/tests/test_builtins.cmd.exp | 9 ++++++++ 2 files changed, 35 insertions(+)
diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index 8b4c8a92ca7..f025485326a 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -3159,6 +3159,32 @@ exit /b 0
cd .. & rd /s/q foobar
+echo --- builtin in expansions + +mkdir foobar & cd foobar + +set foobar=echo + +echo echo %%*>bar.bat +%foobar% bar p1 %foobar% +%%foobar%% bar p2 %%foobar%% +%%%foobar%%% bar p3 %%%foobar%%% +call %foobar% bar cp1 %foobar% +call %%foobar%% bar cp2 %%foobar%% +call %%%foobar%%% bar cp3 %%%foobar%%% +setlocal EnableDelayedExpansion +!foobar! bar b1 !foobar! +!!foobar!! bar b2 !!foobar!! +!!!foobar!!! bar b3 !!!foobar!!! +call !foobar! bar cb1 !foobar! +call !!foobar!! bar cb2 !!foobar!! +call !!!foobar!!! bar cb3 !!!foobar!!! +call !!!!foobar!!!! bar cb4 !!!!foobar!!!! +setlocal DisableDelayedExpansion +set foobar= + +cd .. & rd /s/q foobar + echo --- mixing batch and builtins erase /q echo.bat test.bat 2> NUL echo @echo foo> echo.bat diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 803047dd166..b34c5b764da 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -1817,6 +1817,15 @@ abc abc abc %WINE_BAR% %WINE_BAR% abc def def +--- builtin in expansions +bar p1 echo +bar cp1 echo +bar cp2 echo +@todo_wine@cp3 +@todo_wine@bar b1 echo +@todo_wine@bar b2 echo +@todo_wine@bar b3 echo +@todo_wine@bar cb1 echo --- mixing batch and builtins bar@space@ @todo_wine@foo