cmd/tests: Move command line tests to separate file.
This commit is contained in:
parent
e193e43c29
commit
0ab71a42b4
|
@ -21,3 +21,9 @@ test_builtins.cmd TESTCMD "test_builtins.cmd"
|
|||
|
||||
/* @makedep: test_builtins.cmd.exp */
|
||||
test_builtins.cmd.exp TESTOUT "test_builtins.cmd.exp"
|
||||
|
||||
/* @makedep: test_cmdline.cmd */
|
||||
test_cmdline.cmd TESTCMD "test_cmdline.cmd"
|
||||
|
||||
/* @makedep: test_cmdline.cmd.exp */
|
||||
test_cmdline.cmd.exp TESTOUT "test_cmdline.cmd.exp"
|
||||
|
|
|
@ -1820,96 +1820,6 @@ set var=
|
|||
set var2=
|
||||
cd .. & rd /q/s foobar
|
||||
|
||||
echo ------------ cmd.exe command lines ------------
|
||||
mkdir foobar
|
||||
cd foobar
|
||||
echo file1 > file1
|
||||
|
||||
rem Basic test of command line. Note a section prefix per command
|
||||
rem to resync, as wine does not output anything in these cases yet.
|
||||
echo --- Test 1
|
||||
cmd.exe /c echo Line1
|
||||
cmd.exe /c echo "Line2"
|
||||
echo --- Test 2
|
||||
cmd.exe /c echo Test quotes "&" work
|
||||
echo --- Test 3
|
||||
cmd.exe /c echo "&"
|
||||
echo --- Test 4
|
||||
cmd.exe /c echo "<"
|
||||
echo --- Test 5
|
||||
cmd.exe /c echo ">"
|
||||
echo --- Test 6
|
||||
cmd.exe /c echo "\"
|
||||
echo --- Test 7
|
||||
cmd.exe /c echo "|"
|
||||
echo --- Test 8
|
||||
cmd.exe /c echo "`"
|
||||
echo --- Test 9
|
||||
cmd.exe /c echo """
|
||||
echo --- Test 10
|
||||
echo on > file3
|
||||
@type file3
|
||||
@echo off
|
||||
echo --- Test 11
|
||||
cmd.exe /c echo on >file3
|
||||
@type file3
|
||||
@echo off
|
||||
echo --- Test 12
|
||||
cmd.exe /c "echo passed1"
|
||||
echo --- Test 13
|
||||
cmd.exe /c " echo passed2 "
|
||||
echo --- Test 14
|
||||
cmd.exe /c "dir /ad ..\fooba* /b"
|
||||
echo --- Test 15
|
||||
cmd.exe /cecho No whitespace
|
||||
echo --- Test 16
|
||||
cmd.exe /c
|
||||
echo --- Test 17
|
||||
cmd.exe /c@space@
|
||||
echo --- Test 18
|
||||
rem Ensure no interactive prompting when cmd.exe /c or /k
|
||||
echo file2 > file2
|
||||
cmd.exe /c copy file1 file2 >nul
|
||||
echo No prompts or I would not get here1
|
||||
rem - Try cmd.exe /k as well
|
||||
cmd.exe /k "copy file1 file2 >nul && exit"
|
||||
echo No prompts or I would not get here2
|
||||
|
||||
rem Non existing variable expansion is as per command line, ie left as-is
|
||||
cmd.exe /c echo %%hello1%%
|
||||
cmd.exe /c echo %%hello2
|
||||
cmd.exe /c echo %%hello3^:h=t%%
|
||||
cmd.exe /c echo %%hello4%%%%
|
||||
|
||||
rem Cannot issue a call from cmd.exe /c
|
||||
cmd.exe /c call :hello5
|
||||
|
||||
rem %1-9 has no meaning
|
||||
cmd.exe /c echo one = %%1
|
||||
|
||||
rem for loop vars need expanding
|
||||
cmd.exe /c for /L %%i in (1,1,5) do @echo %%i
|
||||
|
||||
rem goto's are ineffective
|
||||
cmd.exe /c goto :fred
|
||||
cmd.exe /c goto eof
|
||||
|
||||
rem - %var% is expanded at read time, not execute time
|
||||
set var=11
|
||||
cmd.exe /c "set var=22 && setlocal && set var=33 && endlocal && echo var contents: %%var%%"
|
||||
|
||||
rem - endlocal ineffective on cmd.exe /c lines
|
||||
cmd.exe /c "set var=22 && setlocal && set var=33 && endlocal && set var"
|
||||
set var=99
|
||||
|
||||
rem - Environment is inherited ok
|
||||
cmd.exe /c ECHO %%VAR%%
|
||||
|
||||
rem - Exit works
|
||||
cmd.exe /c exit
|
||||
|
||||
cd ..
|
||||
rd foobar /s /q
|
||||
echo ------------ Testing Errorlevel ------------
|
||||
rem WARNING: Do *not* add tests using ErrorLevel after this section
|
||||
should_not_exist 2> nul > nul
|
||||
|
|
|
@ -907,54 +907,6 @@ value1
|
|||
2
|
||||
1
|
||||
1
|
||||
------------ cmd.exe command lines ------------
|
||||
--- Test 1
|
||||
Line1
|
||||
"Line2"
|
||||
--- Test 2
|
||||
Test quotes "&" work
|
||||
--- Test 3
|
||||
"&"
|
||||
--- Test 4
|
||||
"<"
|
||||
--- Test 5
|
||||
">"
|
||||
--- Test 6
|
||||
"\"
|
||||
--- Test 7
|
||||
"|"
|
||||
--- Test 8
|
||||
"`"
|
||||
--- Test 9
|
||||
"""
|
||||
--- Test 10
|
||||
--- Test 11
|
||||
--- Test 12
|
||||
passed1
|
||||
--- Test 13
|
||||
passed2@space@
|
||||
--- Test 14
|
||||
foobar
|
||||
--- Test 15
|
||||
No whitespace
|
||||
--- Test 16
|
||||
--- Test 17
|
||||
--- Test 18
|
||||
No prompts or I would not get here1
|
||||
No prompts or I would not get here2
|
||||
%hello1%
|
||||
%hello2
|
||||
%hello3:h=t%
|
||||
%hello4%%
|
||||
one = %1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
@todo_wine@var contents: 11
|
||||
var=33@space@
|
||||
99
|
||||
------------ Testing Errorlevel ------------
|
||||
9009
|
||||
1
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
@echo off
|
||||
mkdir foobar
|
||||
cd foobar
|
||||
echo file1 > file1
|
||||
|
||||
rem Basic test of command line. Note a section prefix per command
|
||||
rem to resync, as wine does not output anything in these cases yet.
|
||||
echo --- Test 1
|
||||
cmd.exe /c echo Line1
|
||||
cmd.exe /c echo "Line2"
|
||||
echo --- Test 2
|
||||
cmd.exe /c echo Test quotes "&" work
|
||||
echo --- Test 3
|
||||
cmd.exe /c echo "&"
|
||||
echo --- Test 4
|
||||
cmd.exe /c echo "<"
|
||||
echo --- Test 5
|
||||
cmd.exe /c echo ">"
|
||||
echo --- Test 6
|
||||
cmd.exe /c echo "\"
|
||||
echo --- Test 7
|
||||
cmd.exe /c echo "|"
|
||||
echo --- Test 8
|
||||
cmd.exe /c echo "`"
|
||||
echo --- Test 9
|
||||
cmd.exe /c echo """
|
||||
echo --- Test 10
|
||||
echo on > file3
|
||||
@type file3
|
||||
@echo off
|
||||
echo --- Test 11
|
||||
cmd.exe /c echo on >file3
|
||||
@type file3
|
||||
@echo off
|
||||
echo --- Test 12
|
||||
cmd.exe /c "echo passed1"
|
||||
echo --- Test 13
|
||||
cmd.exe /c " echo passed2 "
|
||||
echo --- Test 14
|
||||
cmd.exe /c "dir /ad ..\fooba* /b"
|
||||
echo --- Test 15
|
||||
cmd.exe /cecho No whitespace
|
||||
echo --- Test 16
|
||||
cmd.exe /c
|
||||
echo --- Test 17
|
||||
cmd.exe /c@space@
|
||||
echo --- Test 18
|
||||
rem Ensure no interactive prompting when cmd.exe /c or /k
|
||||
echo file2 > file2
|
||||
cmd.exe /c copy file1 file2 >nul
|
||||
echo No prompts or I would not get here1
|
||||
rem - Try cmd.exe /k as well
|
||||
cmd.exe /k "copy file1 file2 >nul && exit"
|
||||
echo No prompts or I would not get here2
|
||||
|
||||
rem Non existing variable expansion is as per command line, i.e. left as-is
|
||||
cmd.exe /c echo %%hello1%%
|
||||
cmd.exe /c echo %%hello2
|
||||
cmd.exe /c echo %%hello3^:h=t%%
|
||||
cmd.exe /c echo %%hello4%%%%
|
||||
|
||||
rem Cannot issue a call from cmd.exe /c
|
||||
cmd.exe /c call :hello5
|
||||
|
||||
rem %1-9 has no meaning
|
||||
cmd.exe /c echo one = %%1
|
||||
|
||||
rem for loop vars need expanding
|
||||
cmd.exe /c for /L %%i in (1,1,5) do @echo %%i
|
||||
|
||||
rem goto's are ineffective
|
||||
cmd.exe /c goto :fred
|
||||
cmd.exe /c goto eof
|
||||
|
||||
rem - %var% is expanded at read time, not execute time
|
||||
set var=11
|
||||
cmd.exe /c "set var=22 && setlocal && set var=33 && endlocal && echo var contents: %%var%%"
|
||||
|
||||
rem - endlocal ineffective on cmd.exe /c lines
|
||||
cmd.exe /c "set var=22 && setlocal && set var=33 && endlocal && set var"
|
||||
set var=99
|
||||
|
||||
rem - Environment is inherited ok
|
||||
cmd.exe /c ECHO %%VAR%%
|
||||
|
||||
rem - Exit works
|
||||
cmd.exe /c exit
|
||||
|
||||
cd ..
|
||||
rd foobar /s /q
|
|
@ -0,0 +1,47 @@
|
|||
--- Test 1
|
||||
Line1
|
||||
"Line2"
|
||||
--- Test 2
|
||||
Test quotes "&" work
|
||||
--- Test 3
|
||||
"&"
|
||||
--- Test 4
|
||||
"<"
|
||||
--- Test 5
|
||||
">"
|
||||
--- Test 6
|
||||
"\"
|
||||
--- Test 7
|
||||
"|"
|
||||
--- Test 8
|
||||
"`"
|
||||
--- Test 9
|
||||
"""
|
||||
--- Test 10
|
||||
--- Test 11
|
||||
--- Test 12
|
||||
passed1
|
||||
--- Test 13
|
||||
passed2@space@
|
||||
--- Test 14
|
||||
foobar
|
||||
--- Test 15
|
||||
No whitespace
|
||||
--- Test 16
|
||||
--- Test 17
|
||||
--- Test 18
|
||||
No prompts or I would not get here1
|
||||
No prompts or I would not get here2
|
||||
%hello1%
|
||||
%hello2
|
||||
%hello3:h=t%
|
||||
%hello4%%
|
||||
one = %1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
@todo_wine@var contents: 11
|
||||
var=33@space@
|
||||
99
|
Loading…
Reference in New Issue