| package libcontainer |
| |
| import ( |
| "fmt" |
| "io/ioutil" |
| "testing" |
| ) |
| |
| func TestErrorDetail(t *testing.T) { |
| err := newGenericError(fmt.Errorf("test error"), SystemError) |
| if derr := err.Detail(ioutil.Discard); derr != nil { |
| t.Fatal(derr) |
| } |
| } |
| |
| func TestErrorWithCode(t *testing.T) { |
| err := newGenericError(fmt.Errorf("test error"), SystemError) |
| if code := err.Code(); code != SystemError { |
| t.Fatalf("expected err code %q but %q", SystemError, code) |
| } |
| } |
| |
| func TestErrorWithError(t *testing.T) { |
| cc := []struct { |
| errmsg string |
| cause string |
| }{ |
| { |
| errmsg: "test error", |
| }, |
| { |
| errmsg: "test error", |
| cause: "test", |
| }, |
| } |
| |
| for _, v := range cc { |
| err := newSystemErrorWithCause(fmt.Errorf(v.errmsg), v.cause) |
| |
| msg := err.Error() |
| if v.cause == "" && msg != v.errmsg { |
| t.Fatalf("expected err(%q) equal errmsg(%q)", msg, v.errmsg) |
| } |
| if v.cause != "" && msg == v.errmsg { |
| t.Fatalf("unexpected err(%q) equal errmsg(%q)", msg, v.errmsg) |
| } |
| |
| } |
| } |