(t *testing.T)
| 164 | } |
| 165 | |
| 166 | func TestCmdErrorMessage(t *testing.T) { |
| 167 | t.Run("nil error returns empty string", func(t *testing.T) { |
| 168 | assert.Equal(t, cmdErrorMessage(nil), "") |
| 169 | }) |
| 170 | |
| 171 | t.Run("generic error returns error message", func(t *testing.T) { |
| 172 | assert.Equal(t, cmdErrorMessage(errors.New("something broke")), "something broke") |
| 173 | }) |
| 174 | |
| 175 | t.Run("StatusError with Status field", func(t *testing.T) { |
| 176 | err := dockercli.StatusError{Status: "build failed", StatusCode: 1} |
| 177 | assert.Equal(t, cmdErrorMessage(err), "build failed") |
| 178 | }) |
| 179 | |
| 180 | t.Run("StatusError with only exit code falls back to generic message", func(t *testing.T) { |
| 181 | err := dockercli.StatusError{StatusCode: 42} |
| 182 | assert.Equal(t, cmdErrorMessage(err), "exited with code 42") |
| 183 | }) |
| 184 | |
| 185 | t.Run("wrapped error preserves message", func(t *testing.T) { |
| 186 | err := fmt.Errorf("wrapper: %w", errors.New("inner failure")) |
| 187 | assert.Equal(t, cmdErrorMessage(err), "wrapper: inner failure") |
| 188 | }) |
| 189 | } |
| 190 | |
| 191 | func TestVisitAll(t *testing.T) { |
| 192 | root := &cobra.Command{Use: "root"} |
nothing calls this directly
no test coverage detected
searching dependent graphs…