func lint()

in capi/lib/lint/certlint/certlint.go [76:108]


func lint(fname, tool string) certlint {
	result := NewCertlint()
	cmd := exec.Command("ruby", "-I", LIB, tool, fname)
	stdout := bytes.NewBuffer([]byte{})
	stderr := bytes.NewBuffer([]byte{})
	cmd.Stdout = stdout
	cmd.Stderr = stderr
	err := cmd.Run()
	if err != nil {
		errStr := err.Error()
		result.CmdError = &errStr
		return result
	}
	output, err := ioutil.ReadAll(stdout)
	if err != nil {
		errStr := err.Error()
		result.CmdError = &errStr
		return result
	}
	errors, err := ioutil.ReadAll(stderr)
	if err != nil {
		errStr := err.Error()
		result.CmdError = &errStr
		return result
	}
	if string(errors) != "" {
		errStr := string(errors)
		result.CmdError = &errStr
		return result
	}
	parseOutput(output, &result)
	return result
}