As pointed out by govet,
> pkg/jsonmessage/jsonmessage_test.go:231:94: nilness: nil dereference in dynamic method call (govet)
> if err := DisplayJSONMessagesStream(reader, data, inFd, false, nil); err == nil && err.Error()[:17] != "invalid character" {
> ^
The nil deref never happened as err was always non-nil, and so the check
for error message text was not performed.
Fix this, and while at it, refactor the code a bit.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
| ... | ... |
@@ -228,8 +228,9 @@ func TestDisplayJSONMessagesStreamInvalidJSON(t *testing.T) {
|
| 228 | 228 |
reader := strings.NewReader("This is not a 'valid' JSON []")
|
| 229 | 229 |
inFd, _ = term.GetFdInfo(reader) |
| 230 | 230 |
|
| 231 |
- if err := DisplayJSONMessagesStream(reader, data, inFd, false, nil); err == nil && err.Error()[:17] != "invalid character" {
|
|
| 232 |
- t.Fatalf("Should have thrown an error (invalid character in ..), got %q", err)
|
|
| 231 |
+ exp := "invalid character " |
|
| 232 |
+ if err := DisplayJSONMessagesStream(reader, data, inFd, false, nil); err == nil || !strings.HasPrefix(err.Error(), exp) {
|
|
| 233 |
+ t.Fatalf("Expected error (%s...), got %q", exp, err)
|
|
| 233 | 234 |
} |
| 234 | 235 |
} |
| 235 | 236 |
|