func TestBuildStack(t *testing.T) { stack := BuildStack(note()) if len(stack) != 4 { t.Errorf("len(stack) = %d != 4", len(stack)) } fmt.Printf("%+v\n", stack) stack = BuildStack(c()) if len(stack) != 3 { t.Errorf("len(stack) = %d != 3", len(stack)) } stack = BuildStack(nil) if len(stack) != 0 { t.Errorf("len(stack) = %d != 0", len(stack)) } stack = BuildStack(errors.New("error")) if len(stack) != 0 { t.Errorf("len(stack) = %d != 0", len(stack)) } err := c() rollbar.ErrorWithStack(rollbar.ERR, err, BuildStack(err)) rollbar.Wait() }
func errorQuit(err error) { if errgo.Cause(err) == api.LoginAbortedErr { fmt.Printf("... %v\n", err) os.Exit(1) } if api.IsRequestFailedError(errgo.Cause(err)) { code := errgo.Cause(err).(*api.RequestFailedError).Code if code == 401 { session.DestroyToken() } } newReportError(err).Report() rollbar.Wait() io.Error("An error occured:") fmt.Println(io.Indent(err.Error(), 7)) os.Exit(1) }