From a7c40c36a3a425dd1d28cbc97a3340aafb494d19 Mon Sep 17 00:00:00 2001 From: Hugo Hromic Date: Sat, 29 Jun 2024 15:42:05 +0100 Subject: Use standard exit status code for usage errors * The stdlib `flags` package and most command line utilities use status code `2`. --- parse_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'parse_test.go') diff --git a/parse_test.go b/parse_test.go index 07af7ed..5bc781c 100644 --- a/parse_test.go +++ b/parse_test.go @@ -703,7 +703,7 @@ func TestMustParseError(t *testing.T) { os.Args = []string{"example"} parser := MustParse(&args) assert.Nil(t, parser) - assert.Equal(t, -1, exitCode) + assert.Equal(t, 2, exitCode) assert.Contains(t, stdout.String(), "default values are not supported for slice or map fields") } @@ -921,7 +921,7 @@ func TestParserMustParse(t *testing.T) { }{ {name: "help", args: struct{}{}, cmdLine: []string{"--help"}, code: 0, output: "display this help and exit"}, {name: "version", args: versioned{}, cmdLine: []string{"--version"}, code: 0, output: "example 3.2.1"}, - {name: "invalid", args: struct{}{}, cmdLine: []string{"invalid"}, code: -1, output: ""}, + {name: "invalid", args: struct{}{}, cmdLine: []string{"invalid"}, code: 2, output: ""}, } for _, tt := range tests { @@ -1571,7 +1571,7 @@ func TestMustParseInvalidParser(t *testing.T) { } parser := mustParse(Config{Out: &stdout, Exit: exit}, &args) assert.Nil(t, parser) - assert.Equal(t, -1, exitCode) + assert.Equal(t, 2, exitCode) } func TestMustParsePrintsHelp(t *testing.T) { -- cgit v1.2.3