diff options
Diffstat (limited to 'tests/test/script/builtin/touch.testscript')
-rw-r--r-- | tests/test/script/builtin/touch.testscript | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/test/script/builtin/touch.testscript b/tests/test/script/builtin/touch.testscript new file mode 100644 index 0000000..d58ed7f --- /dev/null +++ b/tests/test/script/builtin/touch.testscript @@ -0,0 +1,88 @@ +# file : tests/test/script/builtin/touch.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../common.testscript + +: file +: +$c <'touch a' && $b + +: file-create +: +: Test that file is created. If it didn't then 'rm' would fail. +: +$c <<EOI && $b +touch a &!a; +rm a +EOI + +: file-update +: +: Test that existing file touch doesn't fail. +: +$c <<EOI && $b +cat <'' >=a; +touch a +EOI + +: no-cleanup +: +: Test that touching an existing file does not register cleanup. If it does +: then the file would be removed while leaving the embedded scope, and so the +: cleanup registered by the first touch would fail. +: +$c <<EOI && $b +{ + +touch a + { + touch ../a + } +} +EOI + +: no-args +: +: Test passing no arguments. +: +$c <'touch --no-cleanup 2>"touch: missing file" != 0' && $b + +: empty-path +: +: Test touching an empty path. +: +$c <<EOI && $b +touch '' 2>"touch: invalid path ''" != 0 +EOI + +: dir-update +: +: Test touching an existing directory. +: +$c <<EOI && $b +mkdir a; +touch a 2>~'%touch: cannot create/update .+: .+%' != 0 +EOI + +: after +: +{ + : success + : + $c <<EOI && $b + touch a; + touch --after a b + EOI + + : no-value + : + $c <<EOI && $b + touch --after 2>'touch: missing --after option value' != 0 + EOI + + : not-exists + : + $c <<EOI && $b + touch --after a b 2>~"%touch: cannot obtain file '.+a' modification time: .+%" != 0 + EOI +} |