blob: 42ef2a6151018a3c11a8c21f60590556a3f0b417 [file] [log] [blame]
package oci
import (
"os"
"testing"
"github.com/opencontainers/runc/libcontainer/devices"
"golang.org/x/sys/unix"
"gotest.tools/v3/assert"
)
func TestDeviceMode(t *testing.T) {
tests := []struct {
name string
in os.FileMode
out os.FileMode
}{
{name: "regular permissions", in: 0777, out: 0777},
{name: "block device", in: 0777 | unix.S_IFBLK, out: 0777},
{name: "character device", in: 0777 | unix.S_IFCHR, out: 0777},
{name: "fifo device", in: 0777 | unix.S_IFIFO, out: 0777},
}
for _, tc := range tests {
tc := tc
t.Run(tc.name, func(t *testing.T) {
d := Device(&devices.Device{FileMode: tc.in})
assert.Equal(t, *d.FileMode, tc.out)
})
}
}