diff --git a/internal/integration/api/selinux.go b/internal/integration/api/selinux.go index 1073d17477..aead61b02d 100644 --- a/internal/integration/api/selinux.go +++ b/internal/integration/api/selinux.go @@ -152,6 +152,11 @@ func (suite *SELinuxSuite) checkFileLabels(nodes []string, expectedLabels map[st suite.T().Skip("skipping SELinux test since SELinux is disabled") } + // TODO: do not skip the test if system extensions are enabled + if suite.ExtensionsQEMU || suite.ExtensionsNvidia { + suite.T().Skip("skipping SELinux test since system extensions are enabled") + } + // We should check both folders and their contents for proper labels for _, dir := range []bool{true, false} { for path, label := range expectedLabels { @@ -173,14 +178,14 @@ func (suite *SELinuxSuite) checkFileLabels(nodes []string, expectedLabels map[st return nil } - suite.Require().NotNil(info.Xattrs) + suite.Require().NotNil(info.Xattrs, "no xattrs for %s", info.Name) found := false for _, l := range info.Xattrs { if l.Name == "security.selinux" { got := string(bytes.Trim(l.Data, "\x00\n")) - suite.Require().Contains(got, label, "expected %s to have label %s, got %s", path, label, got) + suite.Require().Contains(got, label, "expected %s to have label %s, got %s", info.Name, label, got) found = true @@ -188,15 +193,15 @@ func (suite *SELinuxSuite) checkFileLabels(nodes []string, expectedLabels map[st } } - suite.Require().True(found) + suite.Require().True(found, "could not find security.selinux xattr for %s", info.Name) return nil }) if allowMissing { if err != nil { - suite.Require().Contains(err.Error(), "lstat") - suite.Require().Contains(err.Error(), "no such file or directory") + suite.Require().Contains(err.Error(), "lstat", "expected error to be due to missing file %s", path) + suite.Require().Contains(err.Error(), "no such file or directory", "expected error to be due to missing file %s", path) } } else { suite.Require().NoError(err)