summaryrefslogtreecommitdiffstats
path: root/go-selinux/label/label_stub_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go-selinux/label/label_stub_test.go')
-rw-r--r--go-selinux/label/label_stub_test.go121
1 files changed, 121 insertions, 0 deletions
diff --git a/go-selinux/label/label_stub_test.go b/go-selinux/label/label_stub_test.go
new file mode 100644
index 0000000..9742e6e
--- /dev/null
+++ b/go-selinux/label/label_stub_test.go
@@ -0,0 +1,121 @@
+//go:build !linux
+// +build !linux
+
+package label
+
+import "testing"
+
+const testLabel = "system_u:object_r:container_file_t:s0:c1,c2"
+
+func TestInit(t *testing.T) {
+ var testNull []string
+ _, _, err := InitLabels(testNull)
+ if err != nil {
+ t.Log("InitLabels Failed")
+ t.Fatal(err)
+ }
+ testDisabled := []string{"disable"}
+ roMountLabel := ROMountLabel()
+ if roMountLabel != "" {
+ t.Errorf("ROMountLabel Failed")
+ }
+ plabel, mlabel, err := InitLabels(testDisabled)
+ if err != nil {
+ t.Log("InitLabels Disabled Failed")
+ t.Fatal(err)
+ }
+ if plabel != "" {
+ t.Fatal("InitLabels Disabled Failed")
+ }
+ if mlabel != "" {
+ t.Fatal("InitLabels Disabled mlabel Failed")
+ }
+ testUser := []string{"user:user_u", "role:user_r", "type:user_t", "level:s0:c1,c15"}
+ _, _, err = InitLabels(testUser)
+ if err != nil {
+ t.Log("InitLabels User Failed")
+ t.Fatal(err)
+ }
+}
+
+func TestRelabel(t *testing.T) {
+ if err := Relabel("/etc", testLabel, false); err != nil {
+ t.Fatalf("Relabel /etc succeeded")
+ }
+}
+
+func TestSocketLabel(t *testing.T) {
+ label := testLabel
+ if err := SetSocketLabel(label); err != nil {
+ t.Fatal(err)
+ }
+ if _, err := SocketLabel(); err != nil {
+ t.Fatal(err)
+ }
+}
+
+func TestKeyLabel(t *testing.T) {
+ label := testLabel
+ if err := SetKeyLabel(label); err != nil {
+ t.Fatal(err)
+ }
+ if _, err := KeyLabel(); err != nil {
+ t.Fatal(err)
+ }
+}
+
+func TestProcessLabel(t *testing.T) {
+ label := testLabel
+ if err := SetProcessLabel(label); err != nil {
+ t.Fatal(err)
+ }
+ if _, err := ProcessLabel(); err != nil {
+ t.Fatal(err)
+ }
+}
+
+func TestCheckLabelCompile(t *testing.T) {
+ if _, _, err := GenLabels(""); err != nil {
+ t.Fatal(err)
+ }
+
+ tmpDir := t.TempDir()
+ if _, err := FileLabel(tmpDir); err != nil {
+ t.Fatal(err)
+ }
+
+ if err := SetFileLabel(tmpDir, "foobar"); err != nil {
+ t.Fatal(err)
+ }
+
+ if err := SetFileCreateLabel("foobar"); err != nil {
+ t.Fatal(err)
+ }
+
+ if _, err := PidLabel(0); err != nil {
+ t.Fatal(err)
+ }
+
+ ClearLabels()
+
+ if err := ReserveLabel("foobar"); err != nil {
+ t.Fatal(err)
+ }
+
+ if err := ReleaseLabel("foobar"); err != nil {
+ t.Fatal(err)
+ }
+
+ _, _ = DupSecOpt("foobar")
+ DisableSecOpt()
+
+ if err := Validate("foobar"); err != nil {
+ t.Fatal(err)
+ }
+ if relabel := RelabelNeeded("foobar"); relabel {
+ t.Fatal("Relabel failed")
+ }
+ if shared := IsShared("foobar"); shared {
+ t.Fatal("isshared failed")
+ }
+}