2 Commits

Author SHA1 Message Date
4e38d03629 move panic from init to exec 2021-06-06 04:55:07 -07:00
701893ebbd Properly return the zero time for invalid timestamps 2021-05-17 10:59:09 -07:00
2 changed files with 9 additions and 3 deletions

View File

@@ -15,11 +15,11 @@ func GetStartTime(ctx context.Context, unit string, opts Options) (time.Time, er
value, err := Show(ctx, unit, properties.ExecMainStartTimestamp, opts)
if err != nil {
return time.Unix(0, 0), err
return time.Time{}, err
}
// ExecMainStartTimestamp returns an empty string if the unit is not running
if value == "" {
return time.Unix(0, 0), ErrUnitNotActive
return time.Time{}, ErrUnitNotActive
}
return time.Parse(dateFormat, value)
}

View File

@@ -4,6 +4,7 @@ import (
"bytes"
"context"
"fmt"
"log"
"os/exec"
"regexp"
)
@@ -15,7 +16,9 @@ const killed = 130
func init() {
path, err := exec.LookPath("systemctl")
if err != nil {
panic(ErrNotInstalled)
log.Printf("%v", ErrNotInstalled)
systemctl = ""
return
}
systemctl = path
}
@@ -30,6 +33,9 @@ func execute(ctx context.Context, args []string) (string, string, int, error) {
warnings string
)
if systemctl == "" {
panic(ErrNotInstalled)
}
cmd := exec.CommandContext(ctx, systemctl, args...)
cmd.Stdout = &stdout
cmd.Stderr = &stderr