aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--container/capability_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/container/capability_test.go b/container/capability_test.go
new file mode 100644
index 00000000..21043fb0
--- /dev/null
+++ b/container/capability_test.go
@@ -0,0 +1,41 @@
+package container
+
+import "testing"
+
+func TestCapToIndex(t *testing.T) {
+ testCases := []struct {
+ name string
+ cap uintptr
+ want uintptr
+ }{
+ {"CAP_SYS_ADMIN", CAP_SYS_ADMIN, 0},
+ {"CAP_SETPCAP", CAP_SETPCAP, 0},
+ {"CAP_DAC_OVERRIDE", CAP_DAC_OVERRIDE, 0},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ if got := capToIndex(tc.cap); got != tc.want {
+ t.Errorf("capToIndex: %#x, want %#x", got, tc.want)
+ }
+ })
+ }
+}
+
+func TestCapToMask(t *testing.T) {
+ testCases := []struct {
+ name string
+ cap uintptr
+ want uint32
+ }{
+ {"CAP_SYS_ADMIN", CAP_SYS_ADMIN, 0x200000},
+ {"CAP_SETPCAP", CAP_SETPCAP, 0x100},
+ {"CAP_DAC_OVERRIDE", CAP_DAC_OVERRIDE, 0x2},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ if got := capToMask(tc.cap); got != tc.want {
+ t.Errorf("capToMask: %#x, want %#x", got, tc.want)
+ }
+ })
+ }
+}