Files
podman/libpod/container_path_resolution_test.go
Miloslav Trmač 4c3027c149 Make most of libpod, and everything that relies on it, non-darwin
Require (linux || freebsd), because the code already does that, in practice.
This just means macOS users of IDEs aren't hit with thousands of compilation
errors (and then the IDE can open an Linux-specific file and then process it
under the Linux assumption, which works much better).

This commit ONLY replaces
	//go:build !remote
with
	//go:build !remote && (linux || freebsd)

and is split from the rest to allow mechanically verifying that fact,
and focusing a review on the other kinds of changes.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2026-02-27 22:18:36 +01:00

31 lines
1.0 KiB
Go

//go:build !remote && (linux || freebsd)
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/"))
}