aboutsummaryrefslogtreecommitdiff
path: root/tests/test/script/builtin/cp.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test/script/builtin/cp.test')
-rw-r--r--tests/test/script/builtin/cp.test376
1 files changed, 0 insertions, 376 deletions
diff --git a/tests/test/script/builtin/cp.test b/tests/test/script/builtin/cp.test
deleted file mode 100644
index e81b395..0000000
--- a/tests/test/script/builtin/cp.test
+++ /dev/null
@@ -1,376 +0,0 @@
-# file : tests/test/script/builtin/cp.test
-# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-.include ../common.test
-
-: args
-:
-{
- : none
- :
- $c <'cp 2>"cp: missing arguments" == 1' && $b
-
- : no-source
- :
- $c <'cp -R a 2>"cp: missing source path" == 1' && $b
-
- : no-trailing-sep
- :
- $c <<EOI && $b
- cp a b c 2>"cp: multiple source paths without trailing separator for destination directory" == 1
- EOI
-
- : empty
- :
- {
- : dest
- :
- $c <<EOI && $b
- cp '' 2>"cp: invalid path ''" == 1
- EOI
-
- : src1
- :
- $c <<EOI && $b
- cp '' a 2>"cp: invalid path ''" == 1
- EOI
-
- : src2
- :
- $c <<EOI && $b
- cp '' a b/ 2>"cp: invalid path ''" == 1
- EOI
- }
-}
-
-: file
-:
-: Test synopsis 1: make a file copy at the specified path.
-:
-{
- : existing
- :
- {
- : to-non-existing
- :
- $c <<EOI && $b
- touch a;
- cp a b && test -f b
- EOI
-
- : to-existing
- :
- $c <<EOI && $b
- touch a b;
- cp a b
- EOI
-
- : to-dir
- :
- $c <<EOI && $b
- touch a;
- mkdir b;
- cp a b 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-
- : non-existing
- :
- {
- $c <<EOI && $b
- cp a b 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-
- : non-file
- :
- {
- $c <<EOI && $b
- mkdir a;
- cp a b 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-
- : cleanup
- :
- {
- : existing
- :
- : Test that copy over 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 outer touch would fail.
- :
- $c <<EOI && $b
- +touch b
- {
- touch a;
- cp a ../b
- }
- EOI
- }
-}
-
-: dir
-:
-: Test synopsis 2: make a directory copy at the specified path.
-:
-{
- : existing
- :
- {
- : to-non-existing
- :
- $c <<EOI && $b
- mkdir a;
- cp -r a b && test -d b
- EOI
-
- : to-existing
- :
- $c <<EOI && $b
- mkdir a b;
- cp -R a b 2>>/~%EOE% != 0
- %cp: unable to copy directory '.+/a' to '.+/b': .+%
- EOE
- EOI
-
- : to-file
- :
- $c <<EOI && $b
- mkdir a;
- touch b;
- cp -r a b 2>>/~%EOE% != 0
- %cp: unable to copy directory '.+/a' to '.+/b': .+%
- EOE
- EOI
-
- : recursively
- :
- {
- $c <<EOI && $b
- mkdir -p a/b/c;
- touch a/x a/b/y;
- cp -r a d && test -d d/b/c && test -f d/x && test -f d/b/y
- EOI
- }
- }
-
- : non-existing
- :
- {
- $c <<EOI && $b
- cp -r a b 2>>/~%EOE% != 0
- %cp: unable to copy directory '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-
- : non-dir
- :
- {
- $c <<EOI && $b
- touch a;
- cp -r a b 2>>/~%EOE% != 0
- %cp: unable to copy directory '.+/a' to '.+/b': .+%
- EOE
- EOI
- }
-}
-
-: files
-:
-: Test synopsis 3: copy files into the specified directory.
-:
-{
- : existing
- :
- {
- : into-dir
- :
- {
- : over-non-existing
- :
- $c <<EOI && $b
- mkdir b;
- touch a;
- cp a b/ && test -f b/a
- EOI
-
- : over-dir
- :
- $c <<EOI && $b
- mkdir -p b/a;
- touch a;
- cp a b/ 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b/a': .+%
- EOE
- EOI
-
- : multiple
- :
- $c <<EOI && $b
- touch a b;
- mkdir c;
- cp a b c/ && test -f c/a && test -f c/b
- EOI
- }
-
- : into-non-existing-dir
- :
- {
- $c <<EOI && $b
- touch a;
- cp a b/ 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b/a': .+%
- EOE
- EOI
- }
-
- : into-non-dir
- :
- {
- $c <<EOI && $b
- touch a b;
- cp a b/ 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b/a': .+%
- EOE
- EOI
- }
- }
-
- : non-existing
- :
- {
- $c <<EOI && $b
- mkdir b;
- cp a b/ 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b/a': .+%
- EOE
- EOI
- }
-
- : non-file
- :
- {
- $c <<EOI && $b
- mkdir a b;
- cp a b/ 2>>/~%EOE% != 0
- %cp: unable to copy file '.+/a' to '.+/b/a': .+%
- EOE
- EOI
- }
-}
-
-: filesystem-entries
-:
-: Test synopsis 4: copy filesystem entries into the specified directory.
-:
-{
- : file
- :
- {
- $c <<EOI && $b
- mkdir b;
- touch a;
- cp -R a b/ && test -f b/a
- EOI
- }
-
- : dir
- :
- {
- : over-non-existing
- :
- $c <<EOI && $b
- mkdir a b;
- touch a/c;
- cp -R a b/ && test -f b/a/c
- EOI
-
- : over-existing
- :
- $c <<EOI && $b
- mkdir -p a b/a;
- cp -R a b/ 2>>/~%EOE% != 0
- %cp: unable to copy directory '.+/a' to '.+/b/a': .+%
- EOE
- EOI
- }
-}
-
-: attrs
-:
-if ($cxx.target.class != 'windows')
-{
- fs = 's/.+ (\S+\s+\S+\s+\S+)\s+cp-file/\1/p'
- ds = 's/.+ (\S+\s+\S+\s+\S+)\s+cp-dir/\1/p'
-
- : copy
- :
- {
- : file
- :
- {
- $c <<"EOI" && $b
- ls -l $src_base/cp-dir | sed -n -e '$fs' | \
- set t;
-
- cp -p $src_base/cp-dir/cp-file ./;
- ls -l | sed -n -e '$fs' >"\$t"
- EOI
- }
-
- : dir
- :
- {
- $c <<"EOI" && $b
- ls -l $src_base | sed -n -e '$ds' | \
- set t;
-
- cp -p -r $src_base/cp-dir ./;
- ls -l | sed -n -e '$ds' >"\$t"
- EOI
- }
- }
-
- : no-copy
- :
- {
- : file
- :
- {
- $c <<"EOI" && $b 2>>~%EOE% != 0
- ls -l $src_base/cp-dir | sed -n -e '$fs' | \
- set t;
-
- cp $src_base/cp-dir/cp-file ./;
- ls -l | sed -n -e '$fs' >"\$t"
- EOI
- %.+ error: sed stdout doesn't match expected%
- %.+
- EOE
- }
-
- : dir
- :
- {
- $c <<"EOI" && $b 2>>~%EOE% != 0
- ls -l $src_base | sed -n -e '$ds' | \
- set t;
-
- cp -r $src_base/cp-dir ./;
- ls -l | sed -n -e '$ds' >"\$t"
- EOI
- %.+ error: sed stdout doesn't match expected%
- %.+
- EOE
- }
- }
-}