50 lines
975 B
Go
50 lines
975 B
Go
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)
|
|
}
|
|
|
|
}
|
|
}
|