...
1
2
3
4 package selinux
5
6 import (
7 "testing"
8 )
9
10 const testLabel = "foobar"
11
12 func TestSELinuxStubs(t *testing.T) {
13 if GetEnabled() {
14 t.Error("SELinux enabled on non-linux.")
15 }
16
17 tmpDir := t.TempDir()
18 if _, err := FileLabel(tmpDir); err != nil {
19 t.Error(err)
20 }
21
22 if err := SetFileLabel(tmpDir, testLabel); err != nil {
23 t.Error(err)
24 }
25
26 if _, err := LfileLabel(tmpDir); err != nil {
27 t.Error(err)
28 }
29 if err := LsetFileLabel(tmpDir, testLabel); err != nil {
30 t.Error(err)
31 }
32
33 if err := SetFSCreateLabel(testLabel); err != nil {
34 t.Error(err)
35 }
36
37 if _, err := FSCreateLabel(); err != nil {
38 t.Error(err)
39 }
40 if _, err := CurrentLabel(); err != nil {
41 t.Error(err)
42 }
43
44 if _, err := PidLabel(0); err != nil {
45 t.Error(err)
46 }
47
48 ClearLabels()
49
50 ReserveLabel(testLabel)
51 ReleaseLabel(testLabel)
52 if _, err := DupSecOpt(testLabel); err != nil {
53 t.Error(err)
54 }
55 if v := DisableSecOpt(); len(v) != 1 || v[0] != "disable" {
56 t.Errorf(`expected "disabled", got %v`, v)
57 }
58 SetDisabled()
59 if enabled := GetEnabled(); enabled {
60 t.Error("Should not be enabled")
61 }
62 if err := SetExecLabel(testLabel); err != nil {
63 t.Error(err)
64 }
65 if err := SetTaskLabel(testLabel); err != nil {
66 t.Error(err)
67 }
68 if _, err := ExecLabel(); err != nil {
69 t.Error(err)
70 }
71 if _, err := CanonicalizeContext(testLabel); err != nil {
72 t.Error(err)
73 }
74 if _, err := ComputeCreateContext("foo", "bar", testLabel); err != nil {
75 t.Error(err)
76 }
77 if err := SetSocketLabel(testLabel); err != nil {
78 t.Error(err)
79 }
80 if _, err := ClassIndex(testLabel); err != nil {
81 t.Error(err)
82 }
83 if _, err := SocketLabel(); err != nil {
84 t.Error(err)
85 }
86 if _, err := PeerLabel(0); err != nil {
87 t.Error(err)
88 }
89 if err := SetKeyLabel(testLabel); err != nil {
90 t.Error(err)
91 }
92 if _, err := KeyLabel(); err != nil {
93 t.Error(err)
94 }
95 if err := SetExecLabel(testLabel); err != nil {
96 t.Error(err)
97 }
98 if _, err := ExecLabel(); err != nil {
99 t.Error(err)
100 }
101 con, err := NewContext(testLabel)
102 if err != nil {
103 t.Error(err)
104 }
105 con.Get()
106 if err = SetEnforceMode(1); err != nil {
107 t.Error(err)
108 }
109 if v := DefaultEnforceMode(); v != Disabled {
110 t.Errorf("expected %d, got %d", Disabled, v)
111 }
112 if v := EnforceMode(); v != Disabled {
113 t.Errorf("expected %d, got %d", Disabled, v)
114 }
115 if v := ROFileLabel(); v != "" {
116 t.Errorf(`expected "", got %q`, v)
117 }
118 if processLbl, fileLbl := ContainerLabels(); processLbl != "" || fileLbl != "" {
119 t.Errorf(`expected fileLbl="", fileLbl="" got processLbl=%q, fileLbl=%q`, processLbl, fileLbl)
120 }
121 if err = SecurityCheckContext(testLabel); err != nil {
122 t.Error(err)
123 }
124 if _, err = CopyLevel("foo", "bar"); err != nil {
125 t.Error(err)
126 }
127 }
128
View as plain text