From 78854e832f84d58236ca1009338a62640cd5a543 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 14 Jan 2017 21:06:53 +0300 Subject: Add rmdir builtin --- tests/test/script/builtin/rmdir.test | 125 +++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 tests/test/script/builtin/rmdir.test (limited to 'tests/test/script/builtin/rmdir.test') diff --git a/tests/test/script/builtin/rmdir.test b/tests/test/script/builtin/rmdir.test new file mode 100644 index 0000000..7621425 --- /dev/null +++ b/tests/test/script/builtin/rmdir.test @@ -0,0 +1,125 @@ +# 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 + $b + + : test-scope + : + : Removing scope directory fails. + : + $c <"rmdir: '$~' contains test working directory '$~'" == 1 + EOI + $b + + : 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 + $b + + : 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 + $b + + : 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 + $b + + : not-dir + : + : Removing not a directory path fails. + : + $c <>/~%EOE% == 1 + %rmdir: unable to remove '.+/dir/not-dir/test/1/a': .+% + EOE + EOI + $b +} -- cgit v1.1