INNER CODE UNIT · Go
TestKubeLinterExitsWithNonZeroCodeOnEmptyDir
stackrox/kube-linter · e2etests/sanity_test.go:55
func TestKubeLinterExitsWithNonZeroCodeOnEmptyDir(t *testing.T) {
kubeLinterBin := os.Getenv(kubeLinterBinEnv)
tmpDir, err := ioutil.TempDir("", "")
require.NoError(t, err)
defer func() {
require.NoError(t, os.RemoveAll(tmpDir))
}()
kubeLinterOut, err := exec.Command(kubeLinterBin, "lint", tmpDir, "--fail-if-no-objects-found").CombinedOutput()
// error is expected
require.Error(t, err)
exitErr, ok := err.(*exec.ExitError)
require.True(t, ok)
outAsStr := string(kubeLinterOut)
assert.Equal(t, 1, exitErr.ExitCode(), "unexpected exit code: %d; output from kube-linter: %v", exitErr.ExitCode(), outAsStr)
msg := "no valid objects found"
assert.True(t, strings.Contains(outAsStr, fmt.Sprintf("Error: %s", msg)), "unexpected output, it should contain: %s", outAsStr)