diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index f4cc35a403b..347786db388 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -225,6 +225,39 @@ if not exist foo ( rmdir foo ) +echo ----------- Testing rmdir ----------- +call :setError 0 +rem rd and rmdir are synonymous +mkdir foobar +rmdir foobar +echo %ErrorLevel% +if not exist foobar echo dir removed +mkdir foobar +rd foobar +echo %ErrorLevel% +if not exist foobar echo dir removed +rem Removing non-existent directory +rmdir foobar +echo %ErrorLevel% +rem Removing single-level directories +echo > foo +rmdir foo +echo %ErrorLevel% +if exist foo echo file not removed +del foo +mkdir foo +echo > foo\bar +rmdir foo +echo %ErrorLevel% +if exist foo echo non-empty dir not removed +del foo\bar +mkdir foo\bar +rmdir foo +echo %ErrorLevel% +if exist foo echo non-empty dir not removed +rmdir foo\bar +rmdir foo + echo -----------Testing Errorlevel----------- rem nt 4.0 doesn't really support a way of setting errorlevel, so this is weak rem See http://www.robvanderwoude.com/exit.php diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index cfbc77674b2..2e2bf84ac2f 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -124,6 +124,18 @@ dir created @todo_wine@ok, foo created @todo_wine@1 @todo_wine@ok, foo\bar created +----------- Testing rmdir ----------- +0 +dir removed +0 +dir removed +0 +0 +file not removed +0 +non-empty dir not removed +0 +non-empty dir not removed -----------Testing Errorlevel----------- 1 errorlevel just right, good