summaryrefslogtreecommitdiff
path: root/test/system
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2021-06-24 13:53:36 +0200
committerValentin Rothberg <rothberg@redhat.com>2021-06-24 14:58:11 +0200
commit879d66e7db25d1bd1ce8c0906ceb069cdf713f62 (patch)
tree132449013e980eea8ea003fb75a0393db7283ad8 /test/system
parent3ee967bd5da30ddbd3a8625b00bb82f903641800 (diff)
downloadpodman-879d66e7db25d1bd1ce8c0906ceb069cdf713f62.tar.gz
podman-879d66e7db25d1bd1ce8c0906ceb069cdf713f62.tar.bz2
podman-879d66e7db25d1bd1ce8c0906ceb069cdf713f62.zip
[v3.2] cp: do not allow dir->file copying
Fix a bug in `podman-cp` to forbid copying directories to files. Previously, the directory was copied to the parent directory of the file which is wrong. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'test/system')
-rw-r--r--test/system/065-cp.bats9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/system/065-cp.bats b/test/system/065-cp.bats
index 24ac8118e..eda04611f 100644
--- a/test/system/065-cp.bats
+++ b/test/system/065-cp.bats
@@ -272,6 +272,11 @@ load helpers
run_podman rm -f cpcontainer
done < <(parse_table "$tests")
+ run_podman create --name cpcontainer --workdir=/srv $cpimage sleep infinity
+ run_podman 125 cp $srcdir cpcontainer:/etc/os-release
+ is "$output" "Error: destination must be a directory when copying a directory" "cannot copy directory to file"
+ run_podman rm -f cpcontainer
+
run_podman rmi -f $cpimage
}
@@ -343,6 +348,10 @@ load helpers
is "$(< $destdir$dest_fullname/containerfile1)" "${randomcontent[1]}" "$description"
rm -rf $destdir/*
done < <(parse_table "$tests")
+
+ touch $destdir/testfile
+ run_podman 125 cp cpcontainer:/etc/ $destdir/testfile
+ is "$output" "Error: destination must be a directory when copying a directory" "cannot copy directory to file"
run_podman rm -f cpcontainer
run_podman rmi -f $cpimage