summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-08-09 00:44:30 +0200
committerGitHub <noreply@github.com>2019-08-09 00:44:30 +0200
commit4349f42d66d91fa48cde6aa6ed499eaa41d3e2b5 (patch)
tree37cf7d2f4e39c8cf35aa1d6b67cd57fa4db5cd48 /test
parent202eadef2cd46f3a74075a6cfe4e4064d0e14a63 (diff)
parenta2561ec58a1db6851a94d20c38fb1c913830cd34 (diff)
downloadpodman-4349f42d66d91fa48cde6aa6ed499eaa41d3e2b5.tar.gz
podman-4349f42d66d91fa48cde6aa6ed499eaa41d3e2b5.tar.bz2
podman-4349f42d66d91fa48cde6aa6ed499eaa41d3e2b5.zip
Merge pull request #3767 from QiWang19/cp_chown
fix copy change file owner if cp from container
Diffstat (limited to 'test')
-rw-r--r--test/e2e/cp_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/e2e/cp_test.go b/test/e2e/cp_test.go
index 5e98e73eb..edd9c70c6 100644
--- a/test/e2e/cp_test.go
+++ b/test/e2e/cp_test.go
@@ -209,4 +209,40 @@ var _ = Describe("Podman cp", func() {
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
})
+
+ It("podman cp from ctr chown ", func() {
+ setup := podmanTest.RunTopContainer("testctr")
+ setup.WaitWithDefaultTimeout()
+ Expect(setup.ExitCode()).To(Equal(0))
+
+ session := podmanTest.Podman([]string{"exec", "testctr", "adduser", "-S", "testuser"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ session = podmanTest.Podman([]string{"exec", "-u", "testuser", "testctr", "touch", "testfile"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ session = podmanTest.Podman([]string{"cp", "testctr:testfile", "testfile1"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ // owner of the file copied to local machine is not testuser
+ cmd := exec.Command("ls", "-l", "testfile1")
+ cmdRet, err := cmd.Output()
+ Expect(err).To(BeNil())
+ Expect(strings.Contains(string(cmdRet), "testuser")).To(BeFalse())
+
+ session = podmanTest.Podman([]string{"cp", "testfile1", "testctr:testfile2"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ // owner of the file copied to a container is the root user
+ session = podmanTest.Podman([]string{"exec", "-it", "testctr", "ls", "-l", "testfile2"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(ContainSubstring("root"))
+
+ os.Remove("testfile1")
+ })
})