summaryrefslogtreecommitdiff
path: root/pkg/selinux/selinux_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/selinux/selinux_test.go')
-rw-r--r--pkg/selinux/selinux_test.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkg/selinux/selinux_test.go b/pkg/selinux/selinux_test.go
new file mode 100644
index 0000000000..fde6ab147d
--- /dev/null
+++ b/pkg/selinux/selinux_test.go
@@ -0,0 +1,59 @@
+package selinux_test
+
+import (
+ "github.com/dotcloud/docker/pkg/selinux"
+ "os"
+ "testing"
+)
+
+func testSetfilecon(t *testing.T) {
+ if selinux.SelinuxEnabled() {
+ tmp := "selinux_test"
+ out, _ := os.OpenFile(tmp, os.O_WRONLY, 0)
+ out.Close()
+ err := selinux.Setfilecon(tmp, "system_u:object_r:bin_t:s0")
+ if err != nil {
+ t.Log("Setfilecon failed")
+ t.Fatal(err)
+ }
+ os.Remove(tmp)
+ }
+}
+
+func TestSELinux(t *testing.T) {
+ var (
+ err error
+ plabel, flabel string
+ )
+
+ if selinux.SelinuxEnabled() {
+ t.Log("Enabled")
+ plabel, flabel = selinux.GetLxcContexts()
+ t.Log(plabel)
+ t.Log(flabel)
+ plabel, flabel = selinux.GetLxcContexts()
+ t.Log(plabel)
+ t.Log(flabel)
+ t.Log("getenforce ", selinux.SelinuxGetEnforce())
+ t.Log("getenforcemode ", selinux.SelinuxGetEnforceMode())
+ pid := os.Getpid()
+ t.Log("PID:%d MCS:%s\n", pid, selinux.IntToMcs(pid, 1023))
+ err = selinux.Setfscreatecon("unconfined_u:unconfined_r:unconfined_t:s0")
+ if err == nil {
+ t.Log(selinux.Getfscreatecon())
+ } else {
+ t.Log("setfscreatecon failed", err)
+ t.Fatal(err)
+ }
+ err = selinux.Setfscreatecon("")
+ if err == nil {
+ t.Log(selinux.Getfscreatecon())
+ } else {
+ t.Log("setfscreatecon failed", err)
+ t.Fatal(err)
+ }
+ t.Log(selinux.Getpidcon(1))
+ } else {
+ t.Log("Disabled")
+ }
+}