mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
b9aaa0079b
commit
b25ba8b095
3 changed files with 5 additions and 44 deletions
|
@ -67,7 +67,10 @@ var Source, CacheDir, Destination, Theme, BaseURL, CfgFile, LogFile, Editor stri
|
|||
func Execute() {
|
||||
HugoCmd.SetGlobalNormalizationFunc(helpers.NormalizeHugoFlags)
|
||||
AddCommands()
|
||||
utils.StopOnErr(HugoCmd.Execute())
|
||||
if err := HugoCmd.Execute(); err != nil {
|
||||
// the err is already logged by Cobra
|
||||
os.Exit(-1)
|
||||
}
|
||||
}
|
||||
|
||||
//AddCommands adds child commands to the root command HugoCmd.
|
||||
|
|
|
@ -2,7 +2,6 @@ package utils
|
|||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
jww "github.com/spf13/jwalterweatherman"
|
||||
)
|
||||
|
@ -23,7 +22,7 @@ func CheckErr(err error, s ...string) {
|
|||
func StopOnErr(err error, s ...string) {
|
||||
if err != nil {
|
||||
if len(s) == 0 {
|
||||
newMessage := cutUsageMessage(err.Error())
|
||||
newMessage := err.Error()
|
||||
|
||||
// Printing an empty string results in a error with
|
||||
// no message, no bueno.
|
||||
|
@ -32,8 +31,6 @@ func StopOnErr(err error, s ...string) {
|
|||
}
|
||||
} else {
|
||||
for _, message := range s {
|
||||
message := cutUsageMessage(message)
|
||||
|
||||
if message != "" {
|
||||
jww.CRITICAL.Println(message)
|
||||
}
|
||||
|
@ -42,16 +39,3 @@ func StopOnErr(err error, s ...string) {
|
|||
os.Exit(-1)
|
||||
}
|
||||
}
|
||||
|
||||
// cutUsageMessage splits the incoming string on the beginning of the usage
|
||||
// message text. Anything in the first element of the returned slice, trimmed
|
||||
// of its Unicode defined spaces, should be returned. The 2nd element of the
|
||||
// slice will have the usage message that we wish to elide.
|
||||
//
|
||||
// This is done because Cobra already prints Hugo's usage message; not eliding
|
||||
// would result in the usage output being printed twice, which leads to bug
|
||||
// reports, more specifically: https://github.com/spf13/hugo/issues/374
|
||||
func cutUsageMessage(s string) string {
|
||||
pieces := strings.Split(s, "Usage of")
|
||||
return strings.TrimSpace(pieces[0])
|
||||
}
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCutUsageMessage(t *testing.T) {
|
||||
tests := []struct {
|
||||
message string
|
||||
cutMessage string
|
||||
}{
|
||||
{"", ""},
|
||||
{" Usage of hugo: \n -b, --baseURL=...", ""},
|
||||
{"Some error Usage of hugo: \n", "Some error"},
|
||||
{"Usage of hugo: \n -b --baseU", ""},
|
||||
{"CRITICAL error for usage of hugo ", "CRITICAL error for usage of hugo"},
|
||||
{"Invalid short flag a in -abcde", "Invalid short flag a in -abcde"},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
message := cutUsageMessage(test.message)
|
||||
if message != test.cutMessage {
|
||||
t.Errorf("Expected %#v, got %#v", test.cutMessage, message)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue