diff --git a/cmd/shfmt/main.go b/cmd/shfmt/main.go index 6b55b396..8c3d5053 100644 --- a/cmd/shfmt/main.go +++ b/cmd/shfmt/main.go @@ -142,10 +142,6 @@ func init() { } func main() { - os.Exit(main1()) -} - -func main1() int { flag.Usage = func() { fmt.Fprint(os.Stderr, `usage: shfmt [flags] [path ...] @@ -202,19 +198,19 @@ For more information and to report bugs, see https://github.com/mvdan/sh. version = mod.Version } fmt.Println(version) - return 0 + return } if posix.val && lang.val != syntax.LangAuto { fmt.Fprintf(os.Stderr, "-p and -ln=lang cannot coexist\n") - return 1 + os.Exit(1) } if list.val != "true" && list.val != "false" && list.val != "0" { fmt.Fprintf(os.Stderr, "only -l and -l=0 allowed\n") - return 1 + os.Exit(1) } if find.val != "true" && find.val != "false" && find.val != "0" { fmt.Fprintf(os.Stderr, "only -f and -f=0 allowed\n") - return 1 + os.Exit(1) } if minify.val { simplify.val = true @@ -271,17 +267,17 @@ For more information and to report bugs, see https://github.com/mvdan/sh. if err != errChangedWithDiff { fmt.Fprintln(os.Stderr, err) } - return 1 + os.Exit(1) } - return 0 + return } if filename.val != "" { fmt.Fprintln(os.Stderr, "-filename can only be used with stdin") - return 1 + os.Exit(1) } if toJSON.val { fmt.Fprintln(os.Stderr, "--to-json can only be used with stdin") - return 1 + os.Exit(1) } status := 0 for _, path := range flag.Args() { @@ -319,7 +315,7 @@ For more information and to report bugs, see https://github.com/mvdan/sh. status = 1 } } - return status + os.Exit(status) } var errChangedWithDiff = fmt.Errorf("") diff --git a/cmd/shfmt/main_test.go b/cmd/shfmt/main_test.go index 29686f3e..37531072 100644 --- a/cmd/shfmt/main_test.go +++ b/cmd/shfmt/main_test.go @@ -5,7 +5,6 @@ package main import ( "flag" - "os" "path/filepath" "testing" @@ -13,9 +12,9 @@ import ( ) func TestMain(m *testing.M) { - os.Exit(testscript.RunMain(m, map[string]func() int{ - "shfmt": main1, - })) + testscript.Main(m, map[string]func(){ + "shfmt": main, + }) } var update = flag.Bool("u", false, "update testscript output files") diff --git a/go.mod b/go.mod index 9f3b7da8..a6df6d02 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/go-quicktest/qt v1.101.0 github.com/google/go-cmp v0.6.0 github.com/google/renameio/v2 v2.0.0 - github.com/rogpeppe/go-internal v1.13.1 + github.com/rogpeppe/go-internal v1.13.2-0.20241226121412-a5dc8ff20d0a golang.org/x/sync v0.9.0 golang.org/x/sys v0.27.0 golang.org/x/term v0.26.0 diff --git a/go.sum b/go.sum index 015dfee0..cca62cda 100644 --- a/go.sum +++ b/go.sum @@ -15,6 +15,8 @@ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsK github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.13.2-0.20241226121412-a5dc8ff20d0a h1:w3tdWGKbLGBPtR/8/oO74W6hmz0qE5q0z9aqSAewaaM= +github.com/rogpeppe/go-internal v1.13.2-0.20241226121412-a5dc8ff20d0a/go.mod h1:S8kfXMp+yh77OxPD4fdM6YUknrZpQxLhvxzS4gDHENY= golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=