Skip to content

Replace assert.True and errors.Is with assert.ErrorAs/ErrorIs

Georgi N. Georgiev requested to merge update_errors_as_is into master

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

Merge request reports