Replace assert.True and errors.Is with assert.ErrorAs/ErrorIs
What does this MR do?
Updates assert.True(..errors.Is
to assert.ErrorAs/ErrorIs
Why was this MR needed?
Less boilerplate
What's the best way to test this MR?
Compare the two outputs:
kubernetes_test.go:3595: >>> assert.True(t, errors.As(err, &target))
kubernetes_test.go:3596:
Error Trace: kubernetes_test.go:3596
Error: Should be true
Test: Test
Messages: expected: (*common.BuildError)(nil), got: &errors.errorString{s:"err"}
kubernetes_test.go:3597: >>> assert.ErrorAs(t, err, &target)
kubernetes_test.go:3598:
Error Trace: kubernetes_test.go:3598
Error: Should be in error chain:
expected: %!q(**common.BuildError=0xc0001322a0)
in chain: "err"
Test: Test
kubernetes_test.go:3600: >>> assert.True(t, errors.Is(err, target))
kubernetes_test.go:3601:
Error Trace: kubernetes_test.go:3601
Error: Should be true
Test: Test
Messages: expected: (*common.BuildError)(nil), got: &errors.errorString{s:"err"}
kubernetes_test.go:3602: >>> assert.ErrorIs(t, err, target)
kubernetes_test.go:3603:
Error Trace: kubernetes_test.go:3603
Error: Target error should be in err chain:
expected: "error"
in chain: "err"
Test: Test
assert.ErrorIs
has a a bit of unpleasant formatting but I think that's acceptable considering the amount of boilerplate it saves us.
What are the relevant issue numbers?
Closes #27228 (closed)
Edited by Georgi N. Georgiev