...

Source file src/github.com/opencontainers/selinux/go-selinux/selinux_stub_test.go

Documentation: github.com/opencontainers/selinux/go-selinux

     1  //go:build !linux
     2  // +build !linux
     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