5849898283
Unit tests functional and coverage back to 100% Add more routes to dictionary, add more credentials, add default port 5554, rename cameradar logs ENV variable, improve unit test readability, remove tmp file
52 lines
1.0 KiB
Go
52 lines
1.0 KiB
Go
package mg
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
type fatalErr struct {
|
|
code int
|
|
error
|
|
}
|
|
|
|
func (f fatalErr) ExitStatus() int {
|
|
return f.code
|
|
}
|
|
|
|
type exitStatus interface {
|
|
ExitStatus() int
|
|
}
|
|
|
|
// Fatal returns an error that will cause mage to print out the
|
|
// given args and exit with the given exit code.
|
|
func Fatal(code int, args ...interface{}) error {
|
|
return fatalErr{
|
|
code: code,
|
|
error: errors.New(fmt.Sprint(args...)),
|
|
}
|
|
}
|
|
|
|
// Fatalf returns an error that will cause mage to print out the
|
|
// given message and exit with the given exit code.
|
|
func Fatalf(code int, format string, args ...interface{}) error {
|
|
return fatalErr{
|
|
code: code,
|
|
error: fmt.Errorf(format, args...),
|
|
}
|
|
}
|
|
|
|
// ExitStatus queries the error for an exit status. If the error is nil, it
|
|
// returns 0. If the error does not implement ExitStatus() int, it returns 1.
|
|
// Otherwise it retiurns the value from ExitStatus().
|
|
func ExitStatus(err error) int {
|
|
if err == nil {
|
|
return 0
|
|
}
|
|
exit, ok := err.(exitStatus)
|
|
if !ok {
|
|
return 1
|
|
}
|
|
return exit.ExitStatus()
|
|
}
|