[CMD_ROSTEST] Add tests for the command echoer.

This commit is contained in:
Hermès Bélusca-Maïto 2020-07-27 19:16:45 +02:00
parent 04eef6d20c
commit 988f8bd2f6
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
3 changed files with 245 additions and 0 deletions

View file

@ -22,3 +22,9 @@ test_builtins.cmd TESTCMD "test_builtins.cmd"
/* @makedep: test_builtins.cmd.exp */
test_builtins.cmd.exp TESTOUT "test_builtins.cmd.exp"
/* @makedep: test_echoer_parser.cmd */
test_echoer_parser.cmd TESTCMD "test_echoer_parser.cmd"
/* @makedep: test_echoer_parser.cmd.exp */
test_echoer_parser.cmd.exp TESTOUT "test_echoer_parser.cmd.exp"

View file

@ -0,0 +1,101 @@
::
:: Diverse tests for the CMD echoer and parser.
::
@echo off
setlocal enableextensions
::
:: Simple tests for the CMD echoer.
::
echo --------- Testing CMD echoer ---------
@echo on
if 1==1 echo j1|(echo j2) else echo j3
(echo a 1>&2|echo a 1>&2) 2>&1
echo 1
@echo 2
@@echo 3
@@@echo 4
:echo x1
::echo x2
@:echo y1
@::echo y2
@:::echo y3
@@:echo z1
@@::echo z2
foobar
echo
foobar parameter
echo parameter
toto>NUL
toto> NUL
toto >NUL
toto > NUL
toto>NUL 2>&1
toto> NUL 2>&1
toto >NUL 2>&1
toto > NUL 2>&1
a&b
a& b
a &b
a & b
a||b
a|| b
a ||b
a || b
a&&b
a&& b
a &&b
a && b
:: a|b
:: a| b
:: a |b
:: a | b
if 1==1 (echo lol) else (echo boom)
if 1==1 (
echo lol
) else (
echo boom
)
for /l %%l in (1,1,5) do (echo %%l)
for /l %%l in (1,1,5) do (
echo %%l
)
for /l %%l in (1,1,5) do (@@@echo %%l)
if 1==1 @echo hi
if 1==1 (@echo heh)
if 1==0 (@echo lol) else @echo better
if 1==0 (@echo lol) else (@echo better2)
(a)
(a b)
:: An empty parenthesized block is considered to be an error.
:: ()
@echo off
::
:: Finished!
::
echo --------- Finished --------------
goto :EOF

View file

@ -0,0 +1,138 @@
--------- Testing CMD echoer ---------
@pwd@>if 1 == 1 echo j1 | (echo j2 ) else echo j3@space@
j2@space@
@pwd@>(echo a 1>&2 | echo a 1>&2 ) 2>&1@space@
a@space@
a@space@
@pwd@>echo 1@space@
1
2
3
4
@pwd@>foobar
@pwd@>echo
ECHO is on.
@pwd@>foobar parameter@space@
@pwd@>echo parameter@space@
parameter
@pwd@>toto1>NUL@space@
@pwd@>toto1>NUL@space@
@pwd@>toto 1>NUL@space@
@pwd@>toto 1>NUL@space@
@pwd@>toto1>NUL 2>&1@space@
@pwd@>toto1>NUL 2>&1@space@
@pwd@>toto 1>NUL 2>&1@space@
@pwd@>toto 1>NUL 2>&1@space@
@pwd@>a & b
@pwd@>a & b
@pwd@>a & b
@pwd@>a & b
@pwd@>a || b
@pwd@>a || b
@pwd@>a || b
@pwd@>a || b
@pwd@>a && b
@pwd@>a && b
@pwd@>a && b
@pwd@>a && b
@pwd@>if 1 == 1 (echo lol ) else (echo boom )@space@
lol
@pwd@>if 1 == 1 (echo lol ) else (echo boom )@space@
lol
@pwd@>for /L %l in (1 1 5) do (echo %l )@space@
@pwd@>(echo 1 )@space@
1
@pwd@>(echo 2 )@space@
2
@pwd@>(echo 3 )@space@
3
@pwd@>(echo 4 )@space@
4
@pwd@>(echo 5 )@space@
5
@pwd@>for /L %l in (1 1 5) do (echo %l )@space@
@pwd@>(echo 1 )@space@
1
@pwd@>(echo 2 )@space@
2
@pwd@>(echo 3 )@space@
3
@pwd@>(echo 4 )@space@
4
@pwd@>(echo 5 )@space@
5
@pwd@>for /L %l in (1 1 5) do ()@space@
@pwd@>()@space@
1
@pwd@>()@space@
2
@pwd@>()@space@
3
@pwd@>()@space@
4
@pwd@>()@space@
5
@pwd@>if 1 == 1@space@
hi
@pwd@>if 1 == 1 ()@space@
heh
@pwd@>if 1 == 0 () else@space@
better
@pwd@>if 1 == 0 () else ()@space@
better2
@pwd@>(a)@space@
@pwd@>(a b )@space@
--------- Finished --------------