errors_test.go 1014 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package errors_test
  2. import (
  3. "io"
  4. "testing"
  5. . "v2ray.com/core/common/errors"
  6. "v2ray.com/core/common/log"
  7. . "v2ray.com/ext/assert"
  8. )
  9. func TestError(t *testing.T) {
  10. assert := With(t)
  11. err := New("TestError")
  12. assert(GetSeverity(err), Equals, log.Severity_Info)
  13. err = New("TestError2").Base(io.EOF)
  14. assert(GetSeverity(err), Equals, log.Severity_Info)
  15. err = New("TestError3").Base(io.EOF).AtWarning()
  16. assert(GetSeverity(err), Equals, log.Severity_Warning)
  17. err = New("TestError4").Base(io.EOF).AtWarning()
  18. err = New("TestError5").Base(err)
  19. assert(GetSeverity(err), Equals, log.Severity_Warning)
  20. assert(err.Error(), HasSubstring, "EOF")
  21. }
  22. func TestErrorMessage(t *testing.T) {
  23. assert := With(t)
  24. data := []struct {
  25. err error
  26. msg string
  27. }{
  28. {
  29. err: New("a").Base(New("b")).Path("c", "d", "e"),
  30. msg: "c|d|e: a > b",
  31. },
  32. {
  33. err: New("a").Base(New("b").Path("c")).Path("d", "e"),
  34. msg: "d|e: a > c: b",
  35. },
  36. }
  37. for _, d := range data {
  38. assert(d.err.Error(), Equals, d.msg)
  39. }
  40. }