cmd/tests: Move command line tests to separate file.

This commit is contained in:
Frédéric Delanoy 2012-10-11 03:08:01 +02:00 committed by Alexandre Julliard
parent e193e43c29
commit 0ab71a42b4
5 changed files with 143 additions and 138 deletions

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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