Files
podman/libpod/util_linux_test.go
Paul Holzinger 999a11c8b1 replace deprecated selinux/label calls
These functions were removed in github.com/opencontainers/selinux
v1.12.0.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-24 17:44:43 +01:00

40 lines
1.0 KiB
Go

//go:build !remote
package libpod
import (
"syscall"
"testing"
"github.com/stretchr/testify/assert"
)
func TestLabelVolumePath(t *testing.T) {
// Set up mocked SELinux functions for testing.
oldRelabel := lvpRelabel
oldInitLabels := lvpInitLabels
oldReleaseLabel := lvpReleaseLabel
defer func() {
lvpRelabel = oldRelabel
lvpInitLabels = oldInitLabels
lvpReleaseLabel = oldReleaseLabel
}()
// Relabel returns ENOTSUP unconditionally.
lvpRelabel = func(path string, fileLabel string, shared bool) error {
return syscall.ENOTSUP
}
// InitLabels and ReleaseLabel both return dummy values and nil errors.
lvpInitLabels = func(options []string) (string, string, error) {
pLabel := "system_u:system_r:container_t:s0:c1,c2"
mLabel := "system_u:object_r:container_file_t:s0:c1,c2"
return pLabel, mLabel, nil
}
lvpReleaseLabel = func(label string) {}
// LabelVolumePath should not return an error if the operation is unsupported.
err := LabelVolumePath("/foo/bar", "")
assert.NoError(t, err)
}