Skip to content

Commit 8deba79

Browse files
authored
Merge pull request #141 from kolyshkin/fix-ci
ci: switch to go 1.16 final
2 parents 8df241c + 5ddcb86 commit 8deba79

2 files changed

Lines changed: 33 additions & 41 deletions

File tree

.github/workflows/validate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
strategy:
5151
fail-fast: false
5252
matrix:
53-
go-version: [1.14.x, 1.15.x, 1.16.0-rc1]
53+
go-version: [1.14.x, 1.15.x, 1.16.x]
5454
runs-on: ubuntu-20.04
5555
steps:
5656
- uses: actions/checkout@v2

go-selinux/label/label_linux_test.go

Lines changed: 32 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,53 +9,52 @@ import (
99
"github.com/opencontainers/selinux/go-selinux"
1010
)
1111

12-
func TestInit(t *testing.T) {
12+
func needSELinux(t *testing.T) {
13+
t.Helper()
1314
if !selinux.GetEnabled() {
14-
return
15+
t.Skip("SELinux not enabled, skipping.")
1516
}
17+
}
18+
19+
func TestInit(t *testing.T) {
20+
needSELinux(t)
21+
1622
var testNull []string
1723
_, _, err := InitLabels(testNull)
1824
if err != nil {
19-
t.Log("InitLabels Failed")
20-
t.Fatal(err)
25+
t.Fatalf("InitLabels failed: %v:", err)
2126
}
2227
testDisabled := []string{"disable"}
2328
roMountLabel := ROMountLabel()
2429
if roMountLabel == "" {
25-
t.Errorf("ROMountLabel Failed")
30+
t.Fatal("ROMountLabel: empty")
2631
}
2732
plabel, _, err := InitLabels(testDisabled)
2833
if err != nil {
29-
t.Log("InitLabels Disabled Failed")
30-
t.Fatal(err)
34+
t.Fatalf("InitLabels(disabled) failed: %v", err)
3135
}
3236
if plabel != "" {
33-
t.Log("InitLabels Disabled Failed")
34-
t.FailNow()
37+
t.Fatalf("InitLabels(disabled): %q not empty", plabel)
3538
}
3639
testUser := []string{"user:user_u", "role:user_r", "type:user_t", "level:s0:c1,c15"}
3740
plabel, mlabel, err := InitLabels(testUser)
3841
if err != nil {
39-
t.Log("InitLabels User Failed")
40-
t.Fatal(err)
42+
t.Fatalf("InitLabels(user) failed: %v", err)
4143
}
4244
if plabel != "user_u:user_r:user_t:s0:c1,c15" || (mlabel != "user_u:object_r:container_file_t:s0:c1,c15" && mlabel != "user_u:object_r:svirt_sandbox_file_t:s0:c1,c15") {
43-
t.Logf("InitLabels User Match Failed %s, %s", plabel, mlabel)
44-
t.Log(plabel, mlabel)
45-
t.Fatal(err)
45+
t.Fatalf("InitLabels(user) failed (plabel=%q, mlabel=%q)", plabel, mlabel)
4646
}
4747

4848
testBadData := []string{"user", "role:user_r", "type:user_t", "level:s0:c1,c15"}
4949
if _, _, err = InitLabels(testBadData); err == nil {
50-
t.Log("InitLabels Bad Failed")
51-
t.Fatal(err)
50+
t.Fatal("InitLabels(bad): expected error, got nil")
5251
}
5352
}
5453

5554
func TestDuplicateLabel(t *testing.T) {
5655
secopt, err := DupSecOpt("system_u:system_r:container_t:s0:c1,c2")
5756
if err != nil {
58-
t.Fatal(err)
57+
t.Fatalf("DupSecOpt: %v", err)
5958
}
6059
for _, opt := range secopt {
6160
con := strings.SplitN(opt, ":", 2)
@@ -83,17 +82,16 @@ func TestDuplicateLabel(t *testing.T) {
8382
}
8483
continue
8584
}
86-
t.Errorf("DupSecOpt Failed invalid field %q", con[0])
85+
t.Errorf("DupSecOpt failed: invalid field %q", con[0])
8786
}
8887
secopt = DisableSecOpt()
8988
if secopt[0] != "disable" {
90-
t.Errorf("DisableSecOpt Failed level incorrect %q", secopt[0])
89+
t.Errorf("DisableSecOpt failed: expected \"disable\", got %q", secopt[0])
9190
}
9291
}
9392
func TestRelabel(t *testing.T) {
94-
if !selinux.GetEnabled() {
95-
return
96-
}
93+
needSELinux(t)
94+
9795
testdir, err := ioutil.TempDir("/tmp", "")
9896
if err != nil {
9997
t.Fatal(err)
@@ -158,31 +156,29 @@ func TestIsShared(t *testing.T) {
158156
}
159157

160158
func TestSELinuxNoLevel(t *testing.T) {
161-
if !selinux.GetEnabled() {
162-
return
163-
}
159+
needSELinux(t)
160+
164161
tlabel := "system_u:system_r:container_t"
165162
dup, err := DupSecOpt(tlabel)
166163
if err != nil {
167164
t.Fatal(err)
168165
}
169166

170167
if len(dup) != 3 {
171-
t.Errorf("DupSecOpt Failed on non mls label")
168+
t.Errorf("DupSecOpt failed on non mls label: expected 3, got %d", len(dup))
172169
}
173170
con, err := selinux.NewContext(tlabel)
174171
if err != nil {
175172
t.Fatal(err)
176173
}
177174
if con.Get() != tlabel {
178-
t.Errorf("NewContaxt and con.Get() Failed on non mls label")
175+
t.Errorf("NewContaxt and con.Get() failed on non mls label: expexcted %q, got %q", tlabel, con.Get())
179176
}
180177
}
181178

182179
func TestSocketLabel(t *testing.T) {
183-
if !selinux.GetEnabled() {
184-
return
185-
}
180+
needSELinux(t)
181+
186182
label := "system_u:object_r:container_t:s0:c1,c2"
187183
if err := selinux.SetSocketLabel(label); err != nil {
188184
t.Fatal(err)
@@ -197,9 +193,8 @@ func TestSocketLabel(t *testing.T) {
197193
}
198194

199195
func TestKeyLabel(t *testing.T) {
200-
if !selinux.GetEnabled() {
201-
return
202-
}
196+
needSELinux(t)
197+
203198
label := "system_u:object_r:container_t:s0:c1,c2"
204199
if err := selinux.SetKeyLabel(label); err != nil {
205200
t.Fatal(err)
@@ -214,17 +209,14 @@ func TestKeyLabel(t *testing.T) {
214209
}
215210

216211
func TestFileLabel(t *testing.T) {
217-
if !selinux.GetEnabled() {
218-
return
219-
}
212+
needSELinux(t)
213+
220214
testUser := []string{"filetype:test_file_t", "level:s0:c1,c15"}
221215
_, mlabel, err := InitLabels(testUser)
222216
if err != nil {
223-
t.Log("InitLabels User Failed")
224-
t.Fatal(err)
217+
t.Fatalf("InitLabels(user) failed: %v", err)
225218
}
226219
if mlabel != "system_u:object_r:test_file_t:s0:c1,c15" {
227-
t.Log("InitLabels filetype Failed")
228-
t.Fatal(err)
220+
t.Fatalf("InitLabels(filetype) failed: %v", err)
229221
}
230222
}

0 commit comments

Comments
 (0)