Skip to content

Commit efd5f31

Browse files
Fix review comments for PR microsoft#635
- Remove dead code: empty string case in errorsToStderr switch (unreachable due to early return) - Add test for bare -r flag without argument to verify it defaults to 0
1 parent d523042 commit efd5f31

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

cmd/sqlcmd/sqlcmd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ func normalizeFlags(cmd *cobra.Command) error {
518518
}
519519
case errorsToStderr:
520520
switch v {
521-
case "0", "1", "":
521+
case "0", "1":
522522
return pflag.NormalizedName(name)
523523
default:
524524
err = invalidParameterError("-r", v, "0", "1")

cmd/sqlcmd/sqlcmd_test.go

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -261,16 +261,36 @@ func TestErrorsToStderrDefaultValue(t *testing.T) {
261261
SilenceUsage: true,
262262
}
263263
setFlags(cmd, arguments)
264-
// Test -r0 explicit
265-
cmd.SetArgs([]string{"-r0"})
264+
// Test -r alone (bare flag)
265+
cmd.SetArgs(convertOsArgs([]string{"-r"}))
266266
err := cmd.Execute()
267+
assert.NoError(t, err, "-r should not error")
268+
assert.NotNil(t, arguments.ErrorsToStderr, "ErrorsToStderr should be set when using -r alone")
269+
assert.Equal(t, 0, *arguments.ErrorsToStderr, "-r alone should default to 0")
270+
271+
// Test -r0 explicit
272+
arguments = &SQLCmdArguments{}
273+
cmd2 := &cobra.Command{
274+
Use: "testCommand",
275+
PreRunE: func(cmd *cobra.Command, argss []string) error {
276+
SetScreenWidthFlags(arguments, cmd)
277+
return nil
278+
},
279+
Run: func(cmd *cobra.Command, argss []string) {
280+
},
281+
SilenceErrors: true,
282+
SilenceUsage: true,
283+
}
284+
setFlags(cmd2, arguments)
285+
cmd2.SetArgs([]string{"-r0"})
286+
err = cmd2.Execute()
267287
assert.NoError(t, err, "-r0 should not error")
268288
assert.NotNil(t, arguments.ErrorsToStderr, "ErrorsToStderr should be set")
269289
assert.Equal(t, 0, *arguments.ErrorsToStderr, "-r0 should set value to 0")
270290

271291
// Test -r1 explicit
272292
arguments = &SQLCmdArguments{}
273-
cmd2 := &cobra.Command{
293+
cmd3 := &cobra.Command{
274294
Use: "testCommand",
275295
PreRunE: func(cmd *cobra.Command, argss []string) error {
276296
SetScreenWidthFlags(arguments, cmd)
@@ -281,9 +301,9 @@ func TestErrorsToStderrDefaultValue(t *testing.T) {
281301
SilenceErrors: true,
282302
SilenceUsage: true,
283303
}
284-
setFlags(cmd2, arguments)
285-
cmd2.SetArgs([]string{"-r1"})
286-
err = cmd2.Execute()
304+
setFlags(cmd3, arguments)
305+
cmd3.SetArgs([]string{"-r1"})
306+
err = cmd3.Execute()
287307
assert.NoError(t, err, "-r1 should not error")
288308
assert.NotNil(t, arguments.ErrorsToStderr, "ErrorsToStderr should be set")
289309
assert.Equal(t, 1, *arguments.ErrorsToStderr, "-r1 should set value to 1")

0 commit comments

Comments
 (0)