# file : tests/test/script/builtin/rmdir.test # copyright : Copyright (c) 2014-2017 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file .include ../common.test : no-args : { : fail : : Removing with no arguments fails. : $c <'rmdir 2>"rmdir: missing directory" == 1' && $b : force : : Removing with no arguments succeeds with -f option. : $c <'rmdir -f' && $b } : dir : { : empty-path : : Removing an empty path fails. : $c <"rmdir: invalid path ''" == 1 EOI : test-scope : : Removing scope directory fails. : $c <"rmdir: '$~' contains test working directory '$~'" == 1 EOI : outside-scope : : Need to use a path that unlikely exists (not to remove something useful). : { : fail : : Removing directory outside the testscript working directory fails. : $c <>/~%EOE% == 1 %rmdir: '.+/dir/outside-scope/fail/a/b/c' is out of working directory '.+/dir/outside-scope/fail/test'% EOE EOI : force : : Removing path outside the testscript working directory succeeds with -f : option. : $c <'rmdir -f ../../a/b/c' && $b } : exists : : Removing existing directory succeeds. : $c <>/~%EOE% == 1 %rmdir: unable to remove '.+/dir/not-exists/fail/test/1/a': .+% EOE EOI : force : : Removing non-existing directory succeeds with -f option. : $c <'rmdir -f a' && $b } : not-empty : : Removing non-empty directory fails. : $c <>/~%EOE% == 1 %rmdir: unable to remove '.+/dir/not-empty/test/1/a': .+% EOE EOI : not-dir : : Removing not a directory path fails. : $c <>/~%EOE% == 1 %rmdir: unable to remove '.+/dir/not-dir/test/1/a': .+% EOE EOI }