From a132d9c37ebc5638244dd9223edf39e7665bad86 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Fri, 24 May 2024 11:06:03 +0200 Subject: [PATCH] cmd: Add success/failure tests for file related commands. Signed-off-by: Eric Pouech --- programs/cmd/tests/test_builtins.cmd | 58 ++++++++++++++++++++++++ programs/cmd/tests/test_builtins.cmd.exp | 34 +++++++++++++- 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index d31cb3ef72a..ccdddd289bd 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -466,6 +466,64 @@ call :setError 666 & ((for %%i in () do echo "") &&echo SUCCESS !errorlevel!||ec call :setError 666 & ((for %%i in () do call :setError 33) &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) call :setError 666 & ((for %%i in (a) do call :setError 0) &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) call :setError 666 & ((for %%i in (a) do call :setError 33) &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) + +echo --- success/failure for TYPE command +mkdir foo & cd foo +echo a > fileA +echo b > fileB +call :setError 666 & (type &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (type NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (type i\dont\exist\at\all.txt &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (type file* i\dont\exist\at\all.txt &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +echo --- +call :setError 666 & (type i\dont\exist\at\all.txt file* &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +cd .. && rd /q /s foo + +echo --- success/failure for COPY command +mkdir foo & cd foo +echo a > fileA +echo b > fileB +call :setError 666 & (copy fileA >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (copy fileA fileZ >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (copy fileA fileZ /-Y >NUL NUL NUL fileA +echo b > fileB +call :setError 666 & (move >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (move fileA fileC >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (move fileC nowhere\fileC >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (move fileD fileE >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (move fileC fileB /-Y >NUL fileA +echo b > fileB +call :setError 666 & (rename fileB >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (rename fileB fileA >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (rename fileB nowhere\fileB >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (rename fileD fileC >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (rename fileB fileC >NUL &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +cd .. && rd /q /s foo + +echo --- success/failure for ERASE command +mkdir foo & cd foo +echo a > fileA +echo b > fileB +echo e > fileE +call :setError 666 & (erase &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (erase fileE &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (erase i\dont\exist\at\all.txt &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +call :setError 666 & (erase file* i\dont\exist\at\all.txt &&echo SUCCESS !errorlevel!||echo FAILURE !errorlevel!) +cd .. && rd /q /s foo + echo --- setlocal DisableDelayedExpansion echo ------------ Testing 'set' ------------ diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index c2dba03b740..58e115642b2 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -464,7 +464,39 @@ SUCCESS 666 SUCCESS 666 SUCCESS 0 FAILURE 33 ---- +--- success/failure for TYPE command +@todo_wine@FAILURE 1 +SUCCESS 0 +@todo_wine@FAILURE 1 +@todo_wine@a@space@ +@todo_wine@b@space@ +@todo_wine@FAILURE 1 +@todo_wine@--- +@todo_wine@FAILURE 1 +--- success/failure for COPY command +@todo_wine@FAILURE 1 +SUCCESS 0 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +--- success/failure for MOVE command +@todo_wine@FAILURE 1 +@todo_wine@SUCCESS 0 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +--- success/failure for RENAME command +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +SUCCESS 0 +--- success/failure for ERASE command +@todo_wine@FAILURE 1 +SUCCESS 0 +@todo_wine@FAILURE 1 +@todo_wine@FAILURE 1 +@todo_wine@--- ------------ Testing 'set' ------------ 1 0