aboutsummaryrefslogtreecommitdiff
path: root/tests/test/script/builtin/mv.test
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-09-03 16:37:32 +0200
committerKaren Arutyunov <karen@codesynthesis.com>2018-09-04 16:29:59 +0300
commit5007870b52aa549971824959a55ad3bb886f09e0 (patch)
treeb0ef7f24c0b9ece2ed23f3c1792f16da324e4171 /tests/test/script/builtin/mv.test
parent09d60452a80d14d9b8bf3a9395860b50683fa1e8 (diff)
Rename .test/test{} to .testscript/testscript{}
Diffstat (limited to 'tests/test/script/builtin/mv.test')
-rw-r--r--tests/test/script/builtin/mv.test252
1 files changed, 0 insertions, 252 deletions
diff --git a/tests/test/script/builtin/mv.test b/tests/test/script/builtin/mv.test
deleted file mode 100644
index 291832e..0000000
--- a/tests/test/script/builtin/mv.test
+++ /dev/null
@@ -1,252 +0,0 @@
-# file : tests/test/script/builtin/mv.test
-# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-.include ../common.test
-
-: args
-:
-{
- : none
- :
- $c <'mv 2>"mv: missing arguments" == 1' && $b
-
- : no-source
- :
- $c <'mv a 2>"mv: missing source path" == 1' && $b
-
- : no-trailing-sep
- :
- $c <<EOI && $b
- mv a b c 2>"mv: multiple source paths without trailing separator for destination directory" == 1
- EOI
-
- : empty
- :
- {
- : dest
- :
- $c <<EOI && $b
- mv '' 2>"mv: invalid path ''" == 1
- EOI
-
- : src1
- :
- $c <<EOI && $b
- mv '' a 2>"mv: invalid path ''" == 1
- EOI
-
- : src2
- :
- $c <<EOI && $b
- mv '' a b/ 2>"mv: invalid path ''" == 1
- EOI
- }
-}
-
-: synopsis-1
-:
-: Move an entity to the specified path.
-:
-{
- : file
- :
- {
- : existing
- :
- {
- : to-non-existing
- :
- $c <<EOI && $b
- touch a;
- mv a b && test -f b && test -f a == 1
- EOI
-
- : to-existing
- :
- $c <<EOI && $b
- touch a b;
- mv a b && test -f b && test -f a == 1
- EOI
-
- : to-self
- :
- $c <<EOI && $b
- touch a;
- mv a a 2>>/~%EOE% != 0
- %mv: unable to move entity '.+/a' to itself%
- EOE
- EOI
-
- : to-dir
- :
- $c <<EOI && $b
- touch a;
- mkdir b;
- mv a b 2>>/~%EOE% != 0
- %mv: unable to move entity '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-
- : outside-scope
- :
- : Need to use a path that unlikely exists (not to remove something useful).
- :
- {
- : fail
- :
- : Moving path outside the testscript working directory fails.
- :
- $c <<EOI && $b
- mv ../../a/b/c ./c 2>>/~%EOE% == 1
- %mv: '.+/fail/a/b/c' is out of working directory '.+/fail/test'%
- EOE
- EOI
-
- : force
- :
- : Moving path outside the testscript working directory is allowed with -f
- : option. We fail after this check succeeds as the source path does not
- : exist.
- :
- $c <<EOI && $b
- mv -f ../../a/b/c ./c 2>>/~%EOE% == 1
- %mv: unable to move entity '.+/force/a/b/c' to '.+/c': .+%
- EOE
- EOI
- }
-
- : cleanup
- :
- {
- : existing
- :
- : Test that moving over an existing file does not move the cleanup. If
- : it does, then the file would be removed while leaving the embedded
- : scope, and so the cleanup registered by the outer touch would fail. We
- : also test that the source path cleanup is removed, otherwise it would
- : fail.
- :
- $c <<EOI && $b
- +touch b
- {
- touch a;
- mv a ../b
- }
- EOI
- }
- }
-
- : dir
- :
- {
- : existing
- :
- {
- : to-non-existing
- :
- : Note the here we also test that b path is cleaned up as a directory.
- :
- $c <<EOI && $b
- mkdir a;
- mv a b && test -d b && test -d a == 1
- EOI
-
- : to-non-empty
- :
- $c <<EOI && $b
- mkdir a b;
- touch b/c;
- mv a b 2>>/~%EOE% != 0
- %mv: unable to move entity '.+/a' to '.+/b': .+%
- EOE
- EOI
-
- : to-non-dir
- :
- $c <<EOI && $b
- mkdir a;
- touch b;
- mv a b 2>>/~%EOE% != 0
- %mv: unable to move entity '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-
- : working-dir
- :
- {
- : src
- :
- {
- $c <<EOI && $b
- mv $~ b 2>"mv: '([string] $~)' contains test working directory '$~'" != 0
- EOI
- }
-
- : dst
- :
- {
- $c <<EOI && $b
- mkdir a;
- mv a "$~" 2>"mv: '$~' contains test working directory '$~'" != 0
- EOI
- }
- }
-
- : overlap
- :
- $c <<EOI && $b
- mkdir a;
- mv a a/b 2>>/~%EOE% != 0
- %mv: unable to move entity '.+/a' to '.+/a/b': .+%
- EOE
- EOI
-
- : cleanup
- :
- {
- : sub-entry
- :
- {
- mkdir a;
- touch a/b;
- mv a c
- }
-
- : reorder
- :
- : Test that a/, that is created before b/ and so should be removed after
- : it, get removed before b/ after being renamed to b/c.
- :
- $c <<EOI && $b
- mkdir a b;
- mv a b/c
- EOI
- }
- }
-
- : non-existing
- :
- {
- $c <<EOI && $b
- mv a b 2>>/~%EOE% != 0
- %mv: unable to move entity '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-}
-
-: synopsis-2
-:
-: Move entities into the specified directory.
-:
-{
- $c <<EOI && $b
- mkdir a c;
- touch a/b b;
- mv a b c/;
- test -d c/a && test -f c/a/b && test -f c/b
- EOI
-}