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