cilium
35 строк · 701.0 Байт
1// SPDX-License-Identifier: Apache-2.0
2// Copyright Authors of Cilium
3
4package main
5
6import (
7"fmt"
8"os/exec"
9)
10
11// A commandCheck checks that a commant runs successfully.
12type commandCheck struct {
13name string
14command string
15args []string
16ifFailure checkResult
17ifSuccessMessage string
18hint string
19}
20
21func (c *commandCheck) Name() string {
22return c.name
23}
24
25func (c *commandCheck) Run() (checkResult, string) {
26cmd := exec.Command(c.command, c.args...)
27if err := cmd.Run(); err != nil {
28return c.ifFailure, fmt.Sprintf("%s: %v", cmd, err)
29}
30return checkOK, c.ifSuccessMessage
31}
32
33func (c *commandCheck) Hint() string {
34return c.hint
35}
36