diff options
| author | Taras Madan <tarasmadan@google.com> | 2023-07-21 11:51:35 +0200 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2023-07-24 09:12:13 +0000 |
| commit | a36fe24b8383f6cd9b3519cd3eabdb9675d8992d (patch) | |
| tree | 3fef9a57760ccc4013289acd60e94e083db466e6 /vm/vmimpl | |
| parent | 7549a7e1b57831cf6b08ce4700fc6e53417919f9 (diff) | |
all: use errors.As instead of .(type)
Diffstat (limited to 'vm/vmimpl')
| -rw-r--r-- | vm/vmimpl/merger_test.go | 4 | ||||
| -rw-r--r-- | vm/vmimpl/vmimpl.go | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/vm/vmimpl/merger_test.go b/vm/vmimpl/merger_test.go index 8308aff5e..ef5570509 100644 --- a/vm/vmimpl/merger_test.go +++ b/vm/vmimpl/merger_test.go @@ -5,6 +5,7 @@ package vmimpl import ( "bytes" + "errors" "io" "testing" "time" @@ -62,9 +63,10 @@ func TestMerger(t *testing.T) { t.Fatalf("bad line: '%s', want '%s'", got, want) } + var merr MergerError if err := <-merger.Err; err == nil { t.Fatalf("merger did not produce an error on pipe close") - } else if merr := err.(MergerError); merr.Name != "pipe1" || merr.R != rp1 || merr.Err != io.EOF { + } else if !errors.As(err, &merr) || merr.Name != "pipe1" || merr.R != rp1 || merr.Err != io.EOF { t.Fatalf("merger produced wrong error: %v", err) } diff --git a/vm/vmimpl/vmimpl.go b/vm/vmimpl/vmimpl.go index 9dbd61a92..0a4ada028 100644 --- a/vm/vmimpl/vmimpl.go +++ b/vm/vmimpl/vmimpl.go @@ -93,12 +93,11 @@ type BootError struct { } func MakeBootError(err error, output []byte) error { - switch err1 := err.(type) { - case *osutil.VerboseError: - return BootError{err1.Title, append(err1.Output, output...)} - default: - return BootError{err.Error(), output} + var verboseError *osutil.VerboseError + if errors.As(err, &verboseError) { + return BootError{verboseError.Title, append(verboseError.Output, output...)} } + return BootError{err.Error(), output} } func (err BootError) Error() string { |
