aboutsummaryrefslogtreecommitdiff
path: root/libpod/container_path_resolution_test.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-09-14 20:28:32 +0200
committerGitHub <noreply@github.com>2022-09-14 20:28:32 +0200
commit5d1144062a534b9ec504ee2866cc90ecea16358d (patch)
treec5a51f0da9d2f4dfe75b64cf24bf777a8a38a24b /libpod/container_path_resolution_test.go
parentdca6d316ccec97a80d93218f8a2a6d3df2af24b3 (diff)
parent14e5d1c15da82f7eb315c320765aeca69f4b58af (diff)
downloadpodman-5d1144062a534b9ec504ee2866cc90ecea16358d.tar.gz
podman-5d1144062a534b9ec504ee2866cc90ecea16358d.tar.bz2
podman-5d1144062a534b9ec504ee2866cc90ecea16358d.zip
Merge pull request #15793 from giuseppe/fix-volume-subpath-lookup
libpod: fix lookup for subpath in volumes
Diffstat (limited to 'libpod/container_path_resolution_test.go')
-rw-r--r--libpod/container_path_resolution_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/libpod/container_path_resolution_test.go b/libpod/container_path_resolution_test.go
new file mode 100644
index 000000000..f906c752d
--- /dev/null
+++ b/libpod/container_path_resolution_test.go
@@ -0,0 +1,28 @@
+package libpod
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestIsSubDir(t *testing.T) {
+ assert.True(t, isSubDir("/foo", "/foo"))
+ assert.True(t, isSubDir("/foo/bar", "/foo"))
+ assert.True(t, isSubDir("/foo/bar", "/foo/"))
+ assert.True(t, isSubDir("/foo/bar", "/foo//"))
+ assert.True(t, isSubDir("/foo/bar/", "/foo"))
+ assert.True(t, isSubDir("/foo/bar/baz/", "/foo"))
+ assert.True(t, isSubDir("/foo/bar/baz/", "/foo/bar"))
+ assert.True(t, isSubDir("/foo/bar/baz/", "/foo/bar/"))
+ assert.False(t, isSubDir("/foo/bar/baz/", "/foobar/"))
+ assert.False(t, isSubDir("/foo/bar/baz/../../", "/foobar/"))
+ assert.False(t, isSubDir("/foo/bar/baz/", "../foo/bar"))
+ assert.False(t, isSubDir("/foo/bar/baz/", "../foo/"))
+ assert.False(t, isSubDir("/foo/bar/baz/", "../foo"))
+ assert.False(t, isSubDir("/", ".."))
+ assert.False(t, isSubDir("//", ".."))
+ assert.False(t, isSubDir("//", "../"))
+ assert.False(t, isSubDir("//", "..//"))
+ assert.True(t, isSubDir("/foo/bar/baz/../../", "/foo/"))
+}