Skip to content
Snippets Groups Projects
Commit b1a76360 authored by Abubakr-Sadik Nii Nai Davis's avatar Abubakr-Sadik Nii Nai Davis
Browse files

Do not clutter the output with error messages from commands in the audit pipeline.

parent 6ee9bedf
No related branches found
Tags 38.18.15
No related merge requests found
...@@ -63,7 +63,7 @@ type Check struct { ...@@ -63,7 +63,7 @@ type Check struct {
// Run executes the audit commands specified in a check and outputs // Run executes the audit commands specified in a check and outputs
// the results. // the results.
func (c *Check) Run() { func (c *Check) Run() {
var out bytes.Buffer var out, serr bytes.Buffer
// Check if command exists or exit with WARN. // Check if command exists or exit with WARN.
for _, cmd := range c.Commands { for _, cmd := range c.Commands {
...@@ -87,7 +87,8 @@ func (c *Check) Run() { ...@@ -87,7 +87,8 @@ func (c *Check) Run() {
// cmd0 err should terminate chain // cmd0 err should terminate chain
cs := c.Commands cs := c.Commands
cs[0].Stderr = os.Stderr // Initialize command pipeline
cs[0].Stderr = &serr
cs[n-1].Stdout = &out cs[n-1].Stdout = &out
i := 1 i := 1
...@@ -99,27 +100,26 @@ func (c *Check) Run() { ...@@ -99,27 +100,26 @@ func (c *Check) Run() {
os.Exit(1) os.Exit(1)
} }
cs[i].Stderr = os.Stderr cs[i].Stderr = &serr
i++ i++
} }
// Start command pipeline
i = 0 i = 0
for i < n { for i < n {
err := cs[i].Start() cs[i].Start()
if err != nil { i++
fmt.Fprintf(os.Stderr, "%s: %s\n", cs[i].Args, err) }
os.Exit(1)
}
errw := cs[i].Wait() // Complete command pipeline
if err != nil { i = 0
fmt.Fprintf(os.Stderr, "%s: %s\n", cs[i].Args, errw) for i < n {
os.Exit(1) cs[i].Wait()
}
if i < n-1 { if i < n-1 {
cs[i].Stdout.(io.Closer).Close() cs[i].Stdout.(io.Closer).Close()
} }
i++ i++
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment