From 607aff55fa1a3b80328e8010049380728fde1d62 Mon Sep 17 00:00:00 2001 From: Aditya R Date: Fri, 3 Nov 2023 19:31:17 +0530 Subject: [PATCH] remote,test: remove .dockerignore which is a symlink It seems certain test infrastructure prevents cloning repo which contains symlink outside of the repo itself, generate symlink for such test by the testsuite itself just before running test and remove it when test is completed. Signed-off-by: Aditya R --- .../build/containerignore-symlink/.dockerignore | 1 - test/e2e/build_test.go | 14 +++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) delete mode 120000 test/e2e/build/containerignore-symlink/.dockerignore diff --git a/test/e2e/build/containerignore-symlink/.dockerignore b/test/e2e/build/containerignore-symlink/.dockerignore deleted file mode 120000 index 7ec1325806..0000000000 --- a/test/e2e/build/containerignore-symlink/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -/tmp/private_file \ No newline at end of file diff --git a/test/e2e/build_test.go b/test/e2e/build_test.go index ab1b1d6b67..9683b165c8 100644 --- a/test/e2e/build_test.go +++ b/test/e2e/build_test.go @@ -441,13 +441,25 @@ RUN find /test`, CITEST_IMAGE) It("podman remote build must not allow symlink for ignore files", func() { // Create a random file where symlink must be resolved // but build should not be able to access it. - f, err := os.Create(filepath.Join("/tmp", "private_file")) + privateFile := filepath.Join("/tmp", "private_file") + f, err := os.Create(privateFile) Expect(err).ToNot(HaveOccurred()) // Mark hello to be ignored in outerfile, but it should not be ignored. _, err = f.WriteString("hello\n") Expect(err).ToNot(HaveOccurred()) defer f.Close() + // Create .dockerignore which is a symlink to /tmp/private_file. + currentDir, err := os.Getwd() + Expect(err).ToNot(HaveOccurred()) + ignoreFile := filepath.Join(currentDir, "build/containerignore-symlink/.dockerignore") + err = os.Symlink(privateFile, ignoreFile) + Expect(err).ToNot(HaveOccurred()) + // Remove created .dockerignore for this test when test ends. + defer func() { + os.Remove(ignoreFile) + }() + if IsRemote() { podmanTest.StopRemoteService() podmanTest.StartRemoteService()