mirror of
https://github.com/containers/podman.git
synced 2025-05-20 16:47:39 +08:00

a subdirectory that is below a mount destination is detected as a subpath. Closes: https://github.com/containers/podman/issues/15789 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
29 lines
1007 B
Go
29 lines
1007 B
Go
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/"))
|
|
}
|