util/vizerror: add As function to get wrapped Error

Signed-off-by: Will Norris <will@tailscale.com>
This commit is contained in:
Will Norris
2023-02-01 14:07:24 -08:00
committed by Will Norris
parent 51e1ab5560
commit 10085063fb
3 changed files with 21 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ package vizerror
import (
"errors"
"fmt"
"io/fs"
"testing"
)
@@ -28,3 +29,16 @@ func TestErrorf(t *testing.T) {
t.Errorf("error chain does not contain fs.ErrNotExist")
}
}
func TestAs(t *testing.T) {
verr := New("visible error")
err := fmt.Errorf("wrap: %w", verr)
got, ok := As(err)
if !ok {
t.Errorf("As() return false, want true")
}
if got != verr {
t.Errorf("As() returned error %v, want %v", got, verr)
}
}